bhylu.com

Advertisements

Go Study Plan

Use a sequence of small checks rather than trying to memorise every Go API at once.

How it works

First run and change the basic programs. Then practise collections and error returns, add methods and interfaces when their contracts help, and finally study concurrency and HTTP boundaries. Keep the testing lab beside your own changes so a broken assumption produces a visible failure. There is no fixed completion time or certificate.

Run this Go example

Install Go separately from the official Go downloads and check go version in a new terminal. The reviewed baseline is Go 1.27.3 on Windows amd64; the authored syntax and standard-library APIs require Go 1.22 or newer. Save the complete source below as study-plan.go in a learning folder, then run go run study-plan.go from that folder. These examples use only the standard library.

Bhylu has no Go browser runner. Apache, MySQL, PHP and the JavaScript or Python playground are not required to run these files. File examples own a temporary directory; HTTP client examples create an ephemeral loopback server and close it. They do not contact an external API.

Download the complete study-plan.go · Download all source files with hash checks

For the optional collection download, save download-examples.mjs in a new learning folder and run node download-examples.mjs. A local preview uses node download-examples.mjs http://127.0.0.1:8000/examples/go/. The downloader refuses an existing bhylu-go-examples folder and installs or executes no Go code.

Example

study-plan.go

package main

import (
	"fmt"
)

func main() {
	steps := []string{"values and control flow", "collections and errors", "types and data", "concurrency and HTTP", "tests and projects"}
	for i, step := range steps {
		fmt.Printf("%d. %s\n", i+1, step)
	}
}

Expected result

1. values and control flow
2. collections and errors
3. types and data
4. concurrency and HTTP
5. tests and projects

After each stage, explain the output without looking at the answer, change one boundary and rerun the tests. For a next project, add durable storage only after deciding transactions, ownership and recovery requirements.

For language rules and APIs, use the Go language specification and standard-library documentation. The fictional examples are learning fixtures, not a deployed parcel service.

Advertisements