Share your must-know Go development tips

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/golang

Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • go-profiler-notes

    felixge's notes on the various go profiling methods that are available.

    this is a good read about pprof https://github.com/DataDog/go-profiler-notes/blob/main/guide/README.md

  • thanos

    Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

    I like these tips: https://github.com/thanos-io/thanos/blob/main/docs/contributing/coding-style-guide.md

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • nvim

    I just pushed my neovim config. It is possible to see the usage of the lsp + vim-test + vim alias for the breakpoints https://github.com/lucagez/nvim

  • goimpl.nvim

    Generate stub for interface on a type

    If you use telescope, I highly recommend goimpl telescope implementation. Rivals Goland's interface stub implementation. Great tool if you use a lot of interface.

  • gotests

    Automatically generate Go test boilerplate from your source code.

  • sqlc

    Generate type-safe code from SQL

    The alternative to ORM's are projects like https://github.com/kyleconroy/sqlc where all database code is generated for you from your predefined queries. It avoids many issues including having the wrong parameters or in the wrong order.

  • vim-go

    Go development plugin for Vim

    I use vim as an editor, and I think that vim-go (https://github.com/fatih/vim-go) is a huge help, if you use the "gd" shortcut to take you to where a variable, type or function is defined, and the ctrl-T shortcut to take you back. Use goimports (https://pkg.go.dev/golang.org/x/tools/cmd/goimports) as the vim-go code formatter. This will keep imports up-to-date. There are some other vim-go features that may be helpful. You can have it highlight syntax errors, for example. Not every feature is helpful to every programmer, however.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts