Best practices regarding init function and small CLI apps

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

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

    A blank canvas for your web app, in Go. (by golangdk)

    I usually have my main function be very scriptlike, with all the setup code, env vars and such in the beginning, and then starting whatever needs to be started. I think that's fine. See an example from some of my code here:

  • viper

    Go configuration with fangs

    I tend to use packages like viper ( to handle configuration at a global level. If you want to do it yourself, you can write a singleton to store your configurations. On the internet there are many examples about writing a singleton in Go.

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

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