Learning Go - Snap-for-Windows/snap GitHub Wiki

Overview

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Go is made by Google and meant largely for the web and is stupid fast at responding to web queries. It's really good at a lot of things, the syntax is simple, and the community is strong. Go strives for minimalism and intelligent use of packages.

Go is a very opinionated language which makes it super nice for OCD programmers. There's a defined syntax which means there's one right way to write everything and there's no overhead required to learn your coworkers programming styles.

Lastly, Go's compiler (which is fast, efficient, and capable of easy cross-compilation) refuses to compile code that isn't production-ready. Do you have a variable declared that isn't used? Too bad, Go won't compile. It feels annoying at first, but I've learned to love it because it makes final code extremely robust and stable.

Tips

Whatever text editor you use, be sure to find and install a Go helper package.

Helper Packages

Vim has fatih/vim-go, Atom has go-plus, and Visual Studio Code has lukehoban/Go.

These packages add proper syntax highlighting, autocompletion, and autoformatting.

Useful Links