Skip to content

Instantly share code, notes, and snippets.

@pwmoore
Forked from johannaratliff/learning-golang.md
Last active July 15, 2020 04:15
Show Gist options
  • Save pwmoore/e6ae5ca18f5ab58e98c2076c04102add to your computer and use it in GitHub Desktop.
Save pwmoore/e6ae5ca18f5ab58e98c2076c04102add to your computer and use it in GitHub Desktop.
Golang Rampup

Context

This is for programmers who want to ramp on Go, without resources that reiterate programming fundamentals. This would not be a good list of resources for folks who are learning to program using Go as their first language. Some resources that I dismiss here would be super valuable for newer folks. This is a selection of resources for those who understand programming fundamentals in a different language already.

Advice

  1. First steps = Tour of Go
  2. Don't waste time on Go Fundamentals-type books - it all lives in tour of Go.
  3. Consider joining the Gophers Slack
  4. When you need help, the Go Playground allows you make a quick scratch file and share it. Others trying to help can run your code easily this way.

Books

  1. Go in Practice: Includes 70 Techniques
  2. Concurrency in Go

Quick Resources

  1. Go By Example
  2. A Tour of Go
  3. Organizing Go Code
  4. Effective Go

Resources about the Go Runtime and Scheduler

Because it's interesting
  1. Quick Overview of GoRoutines with "A Complete journey with goroutines"
  2. Article on the scheduler
  3. Analysis of Go runtime scheduler (white paper)
  4. Garbage Collection in Go

Go Gotchas (re: absolute nonsense)

Slices

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment