Getting started

  1. Install Go.
  2. Read the tutorial.
  3. Learn the libraries.

Slow compiles?
Watch this.

Programming with Go. Watch now.
a systems programming language
Expressive, concurrent, garbage-collected

Go is …

… simple

package main

import "fmt"

func main() {
  fmt.Printf("Hello, 世界\n")
}

… fast

Go compilers produce fast code fast. Typical builds take a fraction of a second yet the resulting programs run nearly as quickly as comparable C or C++ code.

… safe

Go is type safe and memory safe. Go has pointers but no pointer arithmetic. For random access, use slices, which know their limits.

… concurrent

Go promotes writing systems and servers as sets of lightweight communicating processes, called goroutines, with strong support from the language. Run thousands of goroutines if you want—and say good-bye to stack overflows.

… fun

Go has fast builds, clean syntax, garbage collection, methods for any type, and run-time reflection. It feels like a dynamic language but has the speed and safety of a static language. It's a joy to use.