If you're new to Go, we recommend following the tutorial while consulting the language spec. Then read Effective Go, as it addresses many common beginner questions.
Keep these under your pillow.
The built-in documentation for the Go standard library.
The built-in documentation for the Go tools.
The official Go Language specification.
A document that specifies the conditions under which reads of a variable in one goroutine can be guaranteed to observe values produced by writes to the same variable in a different goroutine.
The first tutorial. An introductory text that touches upon several core concepts: syntax, types, allocation, constants, I/O, sorting, printing, goroutines, and channels.
A document that gives tips for writing clear, idiomatic Go code. A must read for any new Go programmer. It augments the tutorial and the language spec, both of which should be read first.
This codelab takes the reader through the creation of a simple wiki web application. It touches on structs, methods, file I/O, http, regular expressions, and closures.
An introduction to Go for C++ programmers.
How to write a new package and how to test code.
Answers to common questions about Go.
Answers to common questions about the design decisions behind Go.
Answers to common questions about programming with Go.
How to contribute changes to the Go project.
Features and ideas being developed or discussed by the Go team.
A summarization of the changes between tagged releases of Go.
An hour-long talk delivered by Rob Pike at Google in October 2009. The language's first public introduction. (See the slides in PDF format.) The language has changed since it was made, but it's still a good introduction.
A YouTube channel that includes screencasts and other Go-related videos:
A short promotional video featuring Russ Cox demonstrating Go's fast compiler.
Articles about Go from external blogs.
Posts labelled 'Go' by Russ Cox, one of the core Go developers.
Posts labelled 'Programming' by Ian Lance Taylor, one of the core Go developers.