Go Lessons

Type idiomatic Go code for the cloud era. Build simple, reliable, and high-performance software systems efficiently.

💻
Completed0/30
Total XP0
Avg WPM--
Avg Accuracy--
1

Hello World

Your first Go program.

Easy ⏱ 10 min
Start Lesson
2

Variables

Learn how to store data with variables.

Easy ⏱ 10 min
Start Lesson
3

Constants

Values that cannot change.

Easy ⏱ 10 min
Start Lesson
4

Short Declaration

Short variable declaration.

Easy ⏱ 10 min
Start Lesson
5

Basic Types

Basic types in Go.

Easy ⏱ 10 min
Start Lesson
6

Arrays

Information on Arrays.

Easy ⏱ 10 min
Start Lesson
7

Slices

Dynamic arrays.

Easy ⏱ 10 min
Start Lesson
8

Maps

Key-value pairs.

Easy ⏱ 10 min
Start Lesson
9

If Else

Conditional Logic.

Easy ⏱ 10 min
Start Lesson
10

Loops

The only loop you need.

Easy ⏱ 10 min
Start Lesson
🔒

Pointers

Understanding pointers.

Medium ⏱ 10 min
Locked
🔒

Structs

Collections of fields.

Medium ⏱ 10 min
Locked
🔒

Methods

Functions on types.

Medium ⏱ 10 min
Locked
🔒

Interfaces

Polymorphism in Go.

Medium ⏱ 10 min
Locked
🔒

Goroutines

Lightweight threads.

Medium ⏱ 10 min
Locked
🔒

Channels

Connecting goroutines.

Medium ⏱ 10 min
Locked
🔒

Defer

Cleanup actions.

Medium ⏱ 10 min
Locked
🔒

Select

Waiting on multiple channel operations.

Medium ⏱ 10 min
Locked
🔒

Errors

Handling errors explicitely.

Medium ⏱ 10 min
Locked
🔒

Init

Package initialization.

Medium ⏱ 10 min
Locked
🔒

Mutex

Mutual exclusion.

Hard ⏱ 10 min
Locked
🔒

Waitgroups

Waiting for goroutines.

Hard ⏱ 10 min
Locked
🔒

Atomic

Thread-safe counters.

Hard ⏱ 10 min
Locked
🔒

Context

Managing deadlines and cancellation.

Hard ⏱ 10 min
Locked
🔒

Testing

Built-in testing framework.

Hard ⏱ 10 min
Locked
🔒

Composition

Embedding structs.

Hard ⏱ 10 min
Locked
🔒

Generics

Type parameters.

Hard ⏱ 10 min
Locked
🔒

Reflection

Inspecting types at runtime.

Hard ⏱ 10 min
Locked
🔒

Unsafe

Bypassing type safety.

Hard ⏱ 10 min
Locked
🔒

Cgo

Calling C code.

Hard ⏱ 10 min
Locked