Share your must-know Go development tips

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

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • 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

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

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