All courses

Course

Learn Go

Simple, fast and built for concurrency. 9 units that take you from your first program to the language's advanced features.

Units
9
Topics
42
Questions
215
Challenges
24
1

Unit 1

Getting started

Programs, variables and basic types

  1. Hello, Go
  2. Variables
  3. Constants
  4. Numbers
  5. Strings
  6. Unit quiz and coding challenge
2

Unit 2

Control flow

if, switch and the one loop

  1. if
  2. switch
  3. for
  4. Unit quiz and coding challenge
3

Unit 3

Functions

Multiple returns, closures and defer

  1. Functions
  2. Variadic functions
  3. Function values
  4. Closures
  5. defer
  6. Unit quiz and coding challenge
4

Unit 4

Collections

Arrays, slices, maps and strings

  1. Arrays
  2. Slices
  3. Slicing
  4. Maps
  5. Runes
  6. The strings package
  7. Converting with strconv
  8. Unit quiz and coding challenge
5

Unit 5

Types

Structs, methods and interfaces

  1. Structs
  2. Embedding
  3. Methods
  4. Interfaces
  5. Type assertions
  6. Unit quiz and coding challenge
6

Unit 6

Errors

Error values, wrapping, panic and recover

  1. Errors are values
  2. Wrapping errors
  3. panic
  4. recover
  5. Unit quiz and coding challenge
7

Unit 7

Pointers and generics

Addresses, nil and type parameters

  1. Pointers
  2. Generics
  3. Unit quiz and coding challenge
8

Unit 8

Concurrency

Goroutines, channels and select

  1. Goroutines
  2. Sharing memory safely
  3. Channels
  4. select
  5. context
  6. Unit quiz and coding challenge
9

Unit 9

Go in practice

Packages, testing and the standard library

  1. Packages
  2. Modules
  3. Testing
  4. Formatting verbs
  5. JSON
  6. Batteries included
  7. Unit quiz and coding challenge

Finale

Course exam

100 items from the whole course: 50 questions with choices, 35 typed answers and 15 coding challenges that mix topics.