Go
Complete Go course: from variables and functions to goroutines, channels, interfaces and web servers. Google's language for fast and reliable programs.
What You'll Learn
This Course Includes
Curriculum
30 lessons · 44 lessons · 17 exercises
Introduction to Go
What is Go, why learn it, first program
- What is Go? +10 XP
- Hello World in Go +10 XP
Variables and Types
Variable declaration, basic data types, constants
- Variables in Go +10 XP
- Practice: Variables +10 XP
Strings
Working with strings, formatting, strings package
- Strings in Go +10 XP
- Practice: Strings +10 XP
Numbers and Math
Integers, floats, operations, math package
- Numbers in Go +10 XP
Conditions
if/else, switch, comparison operators
- Conditions in Go +10 XP
- Practice: Conditions +10 XP
Loops
for, range, break, continue
- Loops in Go +10 XP
- Practice: Loops +10 XP
Arrays and Slices
Arrays, slices, append, copy, slicing
- Arrays and Slices +10 XP
- Practice: Slices +10 XP
Maps
Create, access, delete, iterate
- Maps in Go +10 XP
- Practice: Maps +10 XP
Functions
Declaration, parameters, return, multiple return
- Functions in Go +10 XP
- Practice: Functions +10 XP
Pointers
Addresses, dereferencing, pass by reference
- Pointers in Go +10 XP
Structs
Definition, creation, methods, embedding
- Structs in Go +10 XP
- Practice: Structs +10 XP
Interfaces
Definition, implicit implementation, empty interface, type assertion
- Interfaces in Go +10 XP
- Practice: Interfaces +10 XP
Error Handling
error, fmt.Errorf, errors.New, wrapping, panic/recover
- Errors in Go +10 XP
- Practice: Errors +10 XP
Goroutines
Concurrency, go keyword, sync.WaitGroup
- Goroutines +10 XP
Channels
Create, send, receive, buffering, select
- Channels in Go +10 XP
- Practice: Channels +10 XP
Packages and Modules
go mod, import, exports, code organization
- Packages and Modules +10 XP
File I/O
Reading, writing, os, bufio, io
- File I/O in Go +10 XP
JSON
Marshal, unmarshal, tags, API interaction
- JSON in Go +10 XP
- Practice: JSON +10 XP
HTTP and Web Servers
net/http, handlers, routing, middleware
- HTTP in Go +10 XP
Testing
testing package, table tests, benchmarks
- Testing in Go +10 XP
- Practice: Tests +10 XP
Generics
Type parameters, constraints, comparable
- Generics in Go +10 XP
defer, init, embed
Deferred calls, initialization, file embedding
- defer, init, embed +10 XP
Context
context.Background, WithCancel, WithTimeout, propagation
- Context +10 XP
Concurrency Patterns
Worker pool, fan-out/fan-in, pipeline, rate limiting
- Concurrency Patterns +10 XP
CLI Applications
flag, os.Args, cobra, stdin/stdout
- CLI Apps +10 XP
Project: Calculator
Console calculator with operations and history
- Calculator +10 XP
Project: Todo List
Structs, slices, methods in a real project
- Todo List +10 XP
Project: REST API
JSON API with net/http, CRUD operations
- REST API in Go +10 XP
Go Cheat Sheet
Cheat sheet for all course topics
- Go Cheat Sheet +10 XP
What's Next?
Where to go after the course
- What's Next? +10 XP
Requirements
No prior knowledge required — we start from scratch
Course FAQ
Do I need programming experience?
How do lessons work?
How long does the course take?
Will I get a certificate?
Ready to start?
Sign up for free and start coding right now. Your first result in 5 minutes.
Start Learning