Go Academy logo
GoBeginnerWebCloud & DevOpsLevels A1 → C122 languages

Go Academy

Dive into Go programming to create efficient and scalable applications with GO Academy. A CoddyKit learning path of 51 short courses and 203 interactive lessons, with a 24/7 AI tutor at your side.

Courses
51
Lessons
203
Interactive steps
2,612
Free to start
Course 1
Curriculum

51 courses in this path

Every course in the Go Academy path, in learning order. The first one is free.

1

A13 lessonsFree

Find out what Go is, why Google created it, and why it powers some of the world's most important software — explained for complete beginners.

2

A14 lessonsPRO

Learn Go's type system, variable declarations with var and :=, zero values, and constants including iota.

3

A14 lessonsPRO

Master Go's control flow constructs including if with init statements, the versatile for loop, and switch.

4

A24 lessonsPRO

Understand Go functions: signatures, variadic params, named returns, defer, and first-class functions.

5

A24 lessonsPRO

Deep dive into Go collections: fixed arrays, dynamic slices, and hash maps with idiomatic usage patterns.

6

A24 lessonsPRO

Go Strings and the strings Package: Runes vs Bytes, strings Package Functions, and more.

7

A24 lessonsPRO

Formatting with fmt and Stringer: Printf Verbs, Sprintf and Fprintf, and more.

8

A24 lessonsPRO

Go Time and the time Package: Time and Duration, Formatting and Parsing, and more.

9

B14 lessonsPRO

Model data with structs, attach behavior via methods, and understand value vs pointer receivers.

10

B14 lessonsPRO

Understand Go pointers: memory addresses, dereferencing, pointer receivers, and when to use pointers.

11

B14 lessonsPRO

Learn Go's implicit interface system, define and implement interfaces, use type assertions and switches.

12

B14 lessonsPRO

Master Go's explicit error handling: the error interface, errors.Is/As, wrapping, and custom error types.

13

B14 lessonsPRO

Organize Go code with packages, manage dependencies with Go modules, and understand visibility rules.

14

B14 lessonsPRO

Tour the most important Go standard library packages: fmt, strings, strconv, math, time, and os.

15

B14 lessonsPRO

Go Regular Expressions: regexp Basics, Finding and Extracting, and more.

16

B14 lessonsPRO

Go Sorting and the sort Package: Sorting Slices, Custom Sort Orders, and more.

17

B14 lessonsPRO

Go Maps Deep Dive: Map Internals, Checking Existence, and more.

18

B14 lessonsPRO

Go Struct Tags and Validation: What Are Struct Tags, JSON Tags, and more.

19

B14 lessonsPRO

Go Encoding Formats: encoding/json Recap, encoding/xml, and more.

20

B14 lessonsPRO

Read and write files with os and bufio, encode and decode JSON with encoding/json, and handle CSV data.

21

B14 lessonsPRO

Go bufio and Efficient I/O: Buffered Readers, Scanners, and more.

22

B14 lessonsPRO

Go Embedding and Composition: Struct Embedding, Interface Embedding, and more.

23

B24 lessonsPRO

Launch goroutines, communicate via channels, and understand Go's concurrency model with buffered channels.

24

B24 lessonsPRO

Use select for multi-channel communication, implement fan-in/fan-out, timeouts and worker pools.

25

B24 lessonsPRO

Protect shared state with Mutex, RWMutex, Once, and WaitGroup from Go's sync package.

26

B24 lessonsPRO

Use context.Context to propagate cancellation, deadlines, and request-scoped values across goroutines.

27

B24 lessonsPRO

Build HTTP servers in Go using net/http: handlers, ServeMux, middleware, and graceful shutdown.

28

B24 lessonsPRO

Consume REST APIs with Go's http.Client: timeouts, headers, auth, JSON parsing, and retries.

29

B24 lessonsPRO

Write effective tests with Go's testing package: table-driven tests, subtests, mocks, and test coverage.

30

B24 lessonsPRO

Master Go 1.18+ generics: type parameters, constraints, comparable, and real-world generic patterns.

31

B24 lessonsPRO

Go io.Reader and io.Writer: The Reader Interface, The Writer Interface, and more.

32

B24 lessonsPRO

Go Functional Options Pattern: The Problem with Many Params, Option Functions, and more.

33

B24 lessonsPRO

Go Rate Limiting: Token Bucket Concept, golang.org/x/time/rate, and more.

34

B24 lessonsPRO

Go database/sql Fundamentals: Opening a Connection, Querying Rows, and more.

35

B24 lessonsPRO

Build professional command-line tools with Cobra: commands, flags, subcommands, config, and distribution.

36

B24 lessonsPRO

Query PostgreSQL from Go using database/sql, sqlx for struct scanning, and pgx for high-performance access.

37

B24 lessonsPRO

Create production REST APIs with the Gin framework: routing, binding, validation, and error handling.

38

B24 lessonsPRO

Design reusable HTTP middleware: logging, rate limiting, auth, CORS, and request ID injection.

39

B24 lessonsPRO

Containerize Go binaries with multi-stage Docker builds, Docker Compose, environment config, and health checks.

40

B24 lessonsPRO

Go GORM ORM: Models and AutoMigrate, CRUD Operations, and more.

41

B24 lessonsPRO

Go Configuration with Viper: Reading Config Files, Environment Variables, and more.

42

B24 lessonsPRO

Go Structured Logging with slog: Why Structured Logs, slog Handlers, and more.

43

B24 lessonsPRO

Go WebSockets: WebSocket Basics, Using gorilla/websocket, and more.

44

B24 lessonsPRO

Go Cron Jobs and Scheduling: Time-Based Scheduling, The robfig/cron Library, and more.

45

C14 lessonsPRO

Measure and optimize Go code with benchmarks, pprof CPU/heap profiles, and execution traces.

46

C14 lessonsPRO

Go Worker Pools and Pipelines: Worker Pool Pattern, Fan-Out Fan-In, and more.

47

C14 lessonsPRO

Build production-grade concurrent systems with pipelines, errgroup, semaphores, and the reactor pattern.

48

C14 lessonsPRO

Define services with Protocol Buffers, generate Go code, implement unary and streaming gRPC services.

49

C14 lessonsPRO

Inspect and manipulate types at runtime with reflect: Kind, Value, struct tags, and dynamic invocation.

50

C14 lessonsPRO

Build extensible Go applications with plugin packages, interfaces, and dynamic loading on Linux.

51

C14 lessonsPRO

Understand Go's memory model, happens-before rules, stack vs heap, escape analysis, and GC tuning.

CoddyKit PRO

Unlock all 51 courses in this path, and every other path

AI tutor, certification exam and certificate. Works on web, iOS and Android.

See all plans
Yearly$29.90 / yearAbout $2.49 a monthPay onceLifetime$69.99 onceNo renewals. PRO forever.
Course Overview

Go: Built for Concurrency, Designed for Scale

Go is a statically typed, compiled language created at Google to handle the demands of large-scale systems — fast compilation, straightforward concurrency, and a minimal standard library that genuinely covers production needs. It powers infrastructure at companies like Docker, Kubernetes, Cloudflare, and Uber. This track teaches Go from first principles through the concurrency model, REST APIs, gRPC services, and the performance tooling engineers reach for in production.

What You Will Learn

You will start with Go's type system, zero values, and control flow, then move through slices, maps, structs, interfaces, and the error-handling conventions that make Go code predictable. The track covers the sync package, goroutines, channels, and the select statement for concurrent programming, plus the context package for cancellation. On the practical side you will build HTTP servers and clients with net/http, write REST APIs with Gin, add middleware, query databases with database/sql, sqlx, pgx, and GORM, build CLI tools with Cobra, and ship applications inside Docker containers. Advanced topics include benchmarking with pprof, worker pools, pipelines, gRPC, reflection, and the Go memory model.

The Learning Path

Fifty-one courses progress from A1 through A2, B1, B2, and into C1. The A-level courses establish the language fundamentals — variables, control flow, functions, multiple return values, and the core collection types. B1 deepens the model with structs, pointers, interfaces, packages, the standard library, and file I/O. B2 is the largest block and covers everything from goroutines and channels through HTTP, testing, generics, database access, REST APIs with Gin, Docker deployment, structured logging with slog, WebSockets, and cron jobs. C1 closes with production-grade material: benchmarking and pprof profiling, worker pools and pipelines, advanced concurrency patterns, gRPC with Go, the reflect package, a plugin system, and the Go memory model and garbage collector.

How It Works

Each course is split into short, focused lessons you complete in the built-in code editor with real-time feedback. When you get stuck, an AI tutor is available inline to explain the concept without giving away the answer — so you build genuine understanding rather than copying solutions.

How You'll Learn

  1. 01

    Interactive Lessons

    Hands-on coding exercises with real-time feedback

  2. 02

    AI Tutor

    Get instant help from our AI when you're stuck

  3. 03

    Built-in Editor

    Write and run code directly in your browser

  4. 04

    Certificate

    Earn a certificate when you complete the course

FAQ

Frequently Asked Questions

Is the Go Academy course free?

Yes. You can start the Go Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn Go?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior Go experience.

How will I learn Go on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing Go Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the Go Academy course.

Can I learn Go on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn Go on any device and your progress syncs across them.

How much does CoddyKit PRO cost?

The first course of Go Academy is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.

How long does it take to complete Go Academy?

Go Academy has 51 courses and 203 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 24 hours of hands-on practice, at your own pace.

Start Go Academy Now

Join thousands of learners mastering programming with AI-powered lessons.