Weekly Review — Month 1 · Week 1 (Days 001–007)¶
📅 The Week in One Line¶
Set up the Go toolchain and got fluent with the language's basics: declarations, types, control flow, functions, and packages.
✅ What I Completed¶
- Day 001 — Toolchain & first program
- Day 002 — Variables, constants, iota
- Day 003 — Types & conversions (+ temp converter)
- Day 004 — Control flow (+ FizzBuzz)
- Day 005 — Functions, multiple returns, defer (+ calculator)
- Day 006 — Packages & modules (+ mathutil package & tests)
- Day 007 — Review & closed-book recall
- Mini-projects: greeting/examples +
mathutilpackage - Exercises solved: 3 (FizzBuzz, temp converter, calculator) — all with tests
💡 Lessons Learned¶
- Zero values + "no implicit conversions" remove a whole class of bugs.
iotaand1 << iotaare the idiomatic enum/flag tools.deferevaluates args eagerly but runs LIFO at return.- Capitalization is the entire access-control model.
💪 Strengths (what clicked)¶
- Control flow and functions felt natural.
- Writing and running tests early was motivating.
🧩 Weaknesses (what's still fuzzy)¶
- Rune/byte edge cases beyond the basics.
- When exactly to split packages.
🔁 Spaced-Repetition Re-quiz (carry forward)¶
- Q: What does a bare
returndo with named results?A
Returns the current values of the named result variables. - Q: What's the zero value of a slice, map, and pointer?
A
nilfor all three.
🎯 Action Items¶
- Re-read the slices cheatsheet before Day 009 (slice internals).
- Add one more Exercism easy exercise for extra reps.
🚀 Next Week Goals¶
- Master slice internals (cap/append aliasing), maps/sets, strings/runes, and structs.
- Build the contacts-book mini-project.
📊 Metrics¶
| Hours | Days hit | Exercises | Commits | Avg confidence |
|---|---|---|---|---|
| 11 | 7/7 | 3 | 7 | 3.⅗ |
Suggested commit: docs(journal): week 1 review