Skip to content

Weekly Review — Month 1 · Week 1 (Days 001–007)

Journal index · Roadmap › Week 1

📅 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 + mathutil package
  • Exercises solved: 3 (FizzBuzz, temp converter, calculator) — all with tests

💡 Lessons Learned

  • Zero values + "no implicit conversions" remove a whole class of bugs.
  • iota and 1 << iota are the idiomatic enum/flag tools.
  • defer evaluates 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)

  1. Q: What does a bare return do with named results?
    AReturns the current values of the named result variables.
  2. Q: What's the zero value of a slice, map, and pointer?
    Anil for 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