This page lists a few resources for programmers interested in learning about the Go language.
Installing Go and configuring your workspace
Start here to learn how to set up a workspace to write Go code.
Editors and IDEs
- Sublime Text via the GoSublime plugin
- Vim via the go-vim plugln
- LiteIDE, a simple, open source, cross-platform Go IDE.
- and more from the Go Community Wiki.
Once you’ve got your environment set up, here are some excellent resources to learn Go.
- The Go programming language tour
- The Go Bootcamp Book, everything you need to know to get started with Go, by Matt Aimonetti.
- Go by example
- Effective Go
- The Go language FAQ
- The Go style guide
- Damian Gryski’s Gophervids is an aggregator for recordings of Go meetups and conferences.
- Going Go Programming by WIlliam Kennedy
- Writing table driven tests in Go
- Writing benchmarks in Go
- Learn X in Y minutes (where X == Go) by Sonia Keys
- Tutorial: Go (Golang) Pointers in 5 Minutes
- How to set up a Go project repository
Several books have already been published about Go.
- An Introduction to Programming in Go by Caleb Doxsey
- Programming in Go by Mark Summerfield
- Learning Go by Miek Gieben (nearing completion)
- Go in Action by Brian Ketelsen, Erik St. Martin, and William Kennedy
- A Go Developer’s Notebook, by Eleanore McHugh
- More books, http://go-lang.cat-v.org/books
Here is a selection of presentations about Go targeted at those wanting to learn about the language.
- Getting started with Go, by Andrew Gerrand.
- A tour of Go, by Russ Cox.
- Go at Google, Rob Pike, SPLASH 2012.
- Organising Go code by David Crawshaw
- Naming by Andrew Gerrand
- Testing techniques by Andrew Gerrand
- More presentations, talks.golang.org and the community wiki.
Interact with the Go programming community.
- #go-nuts IRC channel at Freenode. For the truly curious the channel is logged by botbot.me.
- Gophers’ community on Slack (signup here for an account).
- The Go playground.
- #golang on Twitter.
- Go+ community on Google Plus.
- Go user groups and meetups.
- golang-nuts mailing list. This is a high volume list. You may find it more rewarding to interact with the group via email, rather than the Google Groups web interface.
- Gopher Academy.
- GopherCon 2015.
- Go questions on Stackoverflow.
- The Go Programming Language Blog.
- Go community Wiki.