Go — Language Overview
Go (also known as Golang) is an open-source, statically typed, compiled language designed for simplicity, safety, and scalability. Created at Google in 2007 and open-sourced in 2009, Go has become the language of cloud-native infrastructure.
Browse by Topic
History & Evolution
Origins at Google, Go 1.0, modules, generics, and modern Go
Core Language
Variables, types, functions, structs, interfaces, closures, and embedding
Concurrency
Goroutines, channels, select, WaitGroup, Mutex, context, and pipelines
Standard Library
fmt, errors, io, os, net/http, encoding/json, bufio, slog, testing, and more
Advanced
Generics, reflection, interface composition, unsafe, CGo, PGO, and go:generate
Why Go?
| Feature | Go's Approach |
|---|---|
| Concurrency | Goroutines + channels — lightweight, built into the language |
| Error handling | Explicit (value, error) returns — no hidden exceptions |
| Compilation | Fast: large codebases compile in seconds |
| Deployment | Single static binary — no runtime dependencies |
| Formatting | gofmt — one canonical style, no debates |
| Tooling | go test, go vet, go doc — all built in |
Navigation
| Topic | Description |
|---|---|
| 📜 History & Evolution | Why Go was created, evolution, and adoption |
| 🔧 Core Language | The fundamental language features |
| ⚡ Concurrency | Go's signature concurrency model |
| 📦 Standard Library | Production-ready packages included with every install |
| 🚀 Advanced | Generics, reflection, CGo, and more |