// the find
GoesToEleven/GolangTraining
Training for Golang (go language)
A beginner Go course laid out as a folder of small standalone programs, one concept per directory, numbered in teaching order from hello world through functions, pointers, slices and maps. It is aimed at someone learning Go from scratch who wants short runnable examples to read alongside the lessons.
- Each concept gets its own folder, and the tricky ones are split into variants. 15_passing-by-value separates int, string, pointer, reference-type and struct-pointer cases, so copy semantics can be run and compared one at a time.
- Failing code is kept on purpose. 04_scope/02_block-scope/01_this-does-not-compile and 05_blank-identifier/01_invalid-code show compiler errors as lessons instead of hiding them.
- The pointer lessons come in no-pointer and pointer pairs that print addresses (08_pointers/04_using-pointers), so the difference shows up in the output rather than only in the explanation.
- 13_exercise-solutions/08_just-fyi includes benchmark files (bm_test.go) using the standard testing package, which gives a small early look at go test tooling.
- The README is one line. There are no setup steps, no note on how to run a single example, and no pointer to the material the code is meant to accompany.
- The listing has no go.mod, and multi-file examples such as 02_package and 04_scope/01_package-scope/02_visibility depend on sibling packages. It is unclear how those imports resolve on a current toolchain without a module file.
- The last push was 2024-07-03, more than two years before this evaluation. Module and tooling defaults have moved since then, so any advice about go run or modules is dated.
- The listing shown stops at maps. It has nothing on goroutines, channels, interfaces, generics, or error handling as a pattern, and the only tests are two benchmark files. It is a first pass at the language, not something that carries you to writing real programs.