Thinking > guide
Go Guide

Originate Guides - Go

Golang is a programming language with focus on pragmatism, wisdom instead of cleverness, and engineering in the large.

Go is great choice for CLI tools, API servers, code that is getting deployed into external environments (e.g. agents), and other network services, be it extremely small (micro-services) or large (in terms of code or team size).

Introduction to the language

Learn

Beginners

Advanced

Guidelines

Tools

  • goimports: configure your editor to run this after each file save
  • gorename: performs precise type-safe renaming of identifiers in Go source code
  • gofix
  • gometalinter: runs dozens of linters in parallel over your source code, normalizing their output

These libraries are considered the best ones for their intended purpose and should be used unless there are justifiable reasons to do otherwise. Trying a more modern alternative with clear benefits is a good reason here. This is a living list, please suggest better ones via a PR.

Larger frameworks

Testing

Debugging

  • go tooling in action (video): explains how to compile, test, profile, and optimize Go code using flame graphs

Smaller libraries

Find more in the awesome Go list

Editor Plugins

Alternatives

  • use Bash for simple scripts that don't need to run on Windows
  • consider Electron if your application needs a GUI, especially when you want to reuse an existing web UI
Recent Posts