Skip to content

Instantly share code, notes, and snippets.

@zamicol
Created December 18, 2020 20:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zamicol/c5aa46b09bee3903e9c5efdf50c742db to your computer and use it in GitHub Desktop.
Save zamicol/c5aa46b09bee3903e9c5efdf50c742db to your computer and use it in GitHub Desktop.
How to Go (golang)
From time to time, I get asked how to program or how to write in Go. Go is used by almost all tech companies now and is essential in industry. Uber, Netflix, Google, Facebook, Twitter, Amazon, etc... all use Go on their servers. The name of the language is "Go" but when using a search engine we call it "golang". If you want to learn Go, here's how:
"Go by Example" and "A Tour of Go" are both essential early learning resources.
https://gobyexample.com
https://tour.golang.org/welcome/1
Effective Go is one of the best resources when learning Go.
https://golang.org/doc/effective_go.html
There's a great starter guide:
https://golang.org/doc/code.html
There is also the playground, which has some constraints and isn't the same as Go locally, but it is still a very useful learning tool.
https://play.golang.org
If you plan on learning the language or programming, I recommend going over Effective Go and the Tour at least three times. You can skip the concurrency sections for now as they are a little more complicated.
Visual Studio Code is what I use when coding:
https://code.visualstudio.com
When ready, you should install Go on your own machine so you can run your own programs:
https://golang.org/doc/install.
The Go Spec is the Go bible. It is a little more complicated and is a better reference when more acquainted with the language:
https://golang.org/ref/spec
Go has an amazing standard library:
https://golang.org/pkg/
And Go has amazing documentation for everything, including your own code that's public:
https://godoc.org/
One a little more advanced, Go has a strong culture around readable coding:
https://github.com/golang/go/wiki/CodeReviewComments
Github is Facebook for programmers. It is a place to save your projects, collaborate, and share them with others. I recommend getting a GitHub asap.
https://github.com
You might need to install git for GitHub to work. Git is used to track changes to your programs which makes moving, changing, and sharing far easier.
https://git-scm.com
As far as Youtube is concerned, "Just for Func" is my favorite:
https://www.youtube.com/watch?v=uBjoTxosSys
To keep up to date and for interesting news, I subscribe to the Go subreddit:
https://old.reddit.com/r/golang
And beyond that, it's just practice.
Good luck in becoming a Go gopher!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment