CodeRigor

FREE COURSE / REAL PRACTICE

Go for Python & C++ developers

Native Go language practice from typed values and shared slices to explicit errors and a deterministic JSON log-summary capstone.

Free lessons & exercises7 authored lessons3 units

What you’ll work toward

Write and test small standard-library Go programs with deliberate copying, interface boundaries, explicit failures and stable JSON reports.

Read an explanation, inspect the diagrams and work through the available checks, debugging exercises and builds. Feedback and prerequisite links guide the next step.

Before you start

The entry lesson has no earlier CodeRigor skill prerequisite. Start there and follow the sequence.

Individual lessons can add prerequisites. The course map shows your actual readiness.

A look inside the first lesson

Go values, types & zero values

Go
package main
import "fmt"
func main() {
    var ready bool
    total := 125
    fmt.Println(ready, total/60, total%60)
    fmt.Println(float64(1)/float64(4), float64(1/4))
}

Your course outline

Follow the lessons in curriculum order. Open a unit to preview the ideas you’ll work with.

UNIT 013 lessons Go language and storage
  1. LESSON 01.01

    Go values, types & zero values

    Read Go declarations, distinguish typed arithmetic, and make conversions before information is lost.

    Open lesson
  2. LESSON 01.02

    Functions, loops & explicit outcomes

    Use multiple returns, early exits and range loops without losing a search result or sentinel boundary.

    Open lesson
  3. LESSON 01.03

    Slices, maps & shared storage

    Separate a slice descriptor from its backing array; build independent snapshots and deterministic map reports.

    Open lesson
UNIT 023 lessons Go program contracts
  1. LESSON 02.01

    Struct methods & small interfaces

    Choose value or pointer receivers deliberately and consume behavior through an implicitly satisfied interface.

    Open lesson
  2. LESSON 02.02

    Errors as values & useful context

    Return explicit failure values, preserve error identity when wrapping, and avoid publishing partial results.

    Open lesson
  3. LESSON 02.03

    Packages, modules & contract tests

    Design a small exported API, keep parsing helpers internal, and verify its contract with native table-driven tests.

    Open lesson
UNIT 031 lesson Go JSON summary capstone
  1. LESSON 03.01

    Capstone: deterministic JSON log summary

    Combine strict JSON decoding, explicit errors, maps, structs and sorted serialization in a tested offline library and CLI.

    Open lesson