This is a curated collection of Articles and Videos about Golang internals. It is intended for advanced/intermediate programmers who are new to Golang and want to understand what happens under the hood. Feel free to add to it!
Understanding Nil Talk by Francesc Campoy
Go Slices: usage and internals from The Go Blog
Macro View of Map Internals In Go by William Kennedy
Inside the Map Implementation Talk by Keith Randall
Go Data Structures: Interfaces by Russ Cox
Golang concepts from an OOP point of view by Lucio Tato
Understanding Go Interfaces Talk by Francesc Campoy
Hacking Go's type system by Tiago Katcipis
How Goroutines Work by Krishna Sundarram
Channels in Golang by @TapirLiu
"go test -race" Under the Hood Talk by Kavya Joshi
Scalable Go Scheduler Design Doc by Dmitry Vyukov from the Go 1.1 Design Docs
Go Preemptive Scheduler Design Doc by Dmitry Vyukov from the Go 1.3 Design Docs
How does the golang scheduler work? by Ian Lance Taylor
Go's work-stealing scheduler by Jaana B. Dogan
How Do They Do It: Timers in Go by Alexander Morozov
The Go Memory Model from the Go Documentation
Contiguous stacks in Go by Agis Anastasopoulos
Contiguous Stacks from the GO 1.3 Design Docs
Golang’s Real-time GC in Theory and Practice by Will Sewell
Request Oriented Collector (ROC) Algorithm by Rick Hudson and Austin Clements and discussion at golang-dev
A Quick Guide to Go's Assembler from the Go Documentation
The Design of the Go Assembler talk by Rob Pike
Dropping Down Go Functions in Assembly (slides) talk by Michael Munday
Golang Internals Series of Blog Posts by Siarhei Matsiukevich
SSA Backend for the Go Compiler by Keith Randall
Algorithms used by SSA compiler
Simple and Efficient Construction of Static Single Assignment Form by Braun, Buchwald, Hack, Leißa, Mallon, and Zwinkau
A Linear Time Algorithm for Placing Φ-Nodes by Sreedhar & Gao
A lot of other information can be gathered from the Go Design Documents and from the (now defunct) Unofficial Go Internals wiki