← Field notes

Learning · 5 MIN READ

A practical Go learning loop, from browser to workbench

Read a concept, trace the code, explain the answer and then verify a small change in a real Go environment.

01

Start with a prediction

Before compiling a small program, write down what each line changes. Track a value together with its scope, type and ownership. For a slice, track the backing array as well as len and cap. For a goroutine, identify who can stop it and who waits for completion.

A wrong prediction is useful when you can explain why it was wrong. Reading the final output immediately removes that opportunity. Use a question as a check on your model, rather than trying to memorize the position of the correct answer.

02

Use the same lesson in two environments

The web library comes from the same native course export as the app. It includes the expanded architecture and clean-code readings, highlighted source, references and self-check questions. The web library can be ahead of the public app; the course page identifies that difference explicitly.

Reading and self-checks work without an account. Browser completion is stored locally and is separate from progress inside GopherForge. The site does not upload a saved progress profile, and clearing browser storage removes that local record.

03

Turn the idea into a small experiment

Copy a complete program into the app or a local Go environment, run it, then change one assumption. Remove a cancellation check, introduce aliasing or change one error wrapper. Predict the new result before running again.

The website does not execute arbitrary source or send it to a compiler service. Compiler exercises retain the prompt and starter code so you can verify them in a real Go environment. A manual web completion mark means you finished studying; it is not a claim that a compiler verified your implementation.

04

Return to the source

Follow the official references when a subtle rule matters. A worked example shows one path, while a language specification or API contract explains the general guarantee. Do not treat a measured capacity growth factor, architecture rating or clean race-detector run as a universal promise.

End a session by stating the rule in your own words and naming one case where the simple example is insufficient. That habit makes the next lesson easier to connect to real code.

Sources & further reading

← All field notes