General-purpose languages
Build simple, concurrent services with a fast toolchain and a small language surface.
package main
import "fmt"
func main() {
fmt.Println("Hello from Go")
}COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how go modules, packages, and the toolchain works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how declarations, blocks, and formatting works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how variables, constants, and zero values works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how built-in types, structs, and conversions works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, comparisons, and bit work works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how if, switch, and type switches works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how for loops, range, and iteration works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how functions, methods, and generic constraints works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how slices, maps, arrays, and memory sharing works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how strings, bytes, runes, and formatting works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how errors, wrapping, panic, and recovery works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how packages, modules, and internal boundaries works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how interfaces, embedding, and composition works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, goroutines, channels, and contexts works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how table-driven tests and race detection works in Go, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.