// Simple, fast, reliable.
GO WAS BUILT FOR THE MODERN WEB.
Created at Google to solve their scaling problems, Go combines the performance of compiled languages with the ease of interpreted ones. It's the language behind Docker, Kubernetes, Terraform, and hundreds of cloud-native tools.
WHY GO?
Go is simple. The entire language can be learned in days. It compiles in seconds, produces single binary executables, and has built-in concurrency that makes parallel programming natural.
JOIN THE GOPHERS.
From web servers to DevOps tools, from APIs to distributed systems—Go powers the infrastructure of the internet. Master goroutines, channels, and the Go philosophy.
12 lessons. Complete Go control.
Install Go, write your first program, and understand the Go philosophy.
BeginnerUnderstand Go's type system, declarations, and zero values.
BeginnerWrite functions with multiple returns, named returns, and error handling.
BeginnerMaster if/else, switch statements, and loops in Go.
BeginnerWork with fixed and dynamic arrays, slicing, and appending.
BeginnerCreate and manipulate key-value data structures.
IntermediateDefine custom types and attach methods to them.
IntermediateUnderstand Go's duck typing and polymorphism.
IntermediateLaunch concurrent functions with lightweight threads.
AdvancedCommunicate between goroutines safely with channels.
AdvancedHandle errors the Go way with explicit error returns.
AdvancedOrganize code and write tests with the testing package.
AdvancedGo was created in 2009 by Robert Griesemer, Rob Pike, and Ken Thompson at Google. They wanted a language that combined the performance of C++ with the simplicity of Python.
Go's philosophy emphasizes simplicity, readability, and efficiency. The language has only 25 keywords and a straightforward syntax. Yet it produces binaries that run as fast as compiled C code.
Go's built-in concurrency primitives—goroutines and channels—make it ideal for building scalable network services, microservices, and cloud-native applications. Companies like Google, Dropbox, Uber, and Twitch use Go for their most critical systems.
The future is Go. Own it.
Go (also called Golang) is a compiled, statically typed programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It was first released in 2009 and version 1.0 in 2012.
Go uses a specific directory structure:
Your code goes in src/, compiled binaries go to bin/
1. Go was created at _____ (company).
2. How many keywords does Go have?
3. What command runs a Go program?
Go has several ways to declare variables:
Uninitialized variables get zero values:
1. What is the zero value of int?
2. What keyword declares a constant?
3. What operator declares a variable with type inference?
One of Go's most powerful features:
1. How many values can a function return?
2. What does ...int mean in a parameter?
1. What keyword skips to the next iteration?
2. What is the only loop keyword in Go?
Fixed-size sequences:
Dynamic-size views into arrays:
1. What function adds elements to a slice?
2. What is the underlying data structure of a slice?
1. How do you check if a key exists in a map?
2. What function deletes a map entry?
Functions attached to structs:
1. What keyword defines a custom type?
2. What do you use to modify a struct from a method?
Implicitly - any type with the right methods implements the interface:
1. How do you implement an interface in Go?
2. What is an empty interface called?
A goroutine is a lightweight thread managed by the Go runtime. They are cheaper than OS threads - you can have thousands running simultaneously.
1. What keyword starts a goroutine?
2. What waits for goroutines to finish?
Wait on multiple channels:
1. What statement waits on multiple channels?
2. How do you iterate over a channel?
1. How do you create a new error?
2. What runs before a function returns?
1. What file contains tests?
2. What runs before main()?