Skip to content

Instantly share code, notes, and snippets.

@johannaratliff
Last active April 9, 2024 20:07
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save johannaratliff/364f638a1ca7a9dbe3871f876205d676 to your computer and use it in GitHub Desktop.
Save johannaratliff/364f638a1ca7a9dbe3871f876205d676 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

Docs

  1. Is this part of stdlib?
  2. Go Wiki
  3. How to: go mod

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

@atifali
Copy link

atifali commented May 12, 2021

This is a great list!! Thanks mate 👍

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