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
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • 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

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
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