# 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.