📘 Week 1 – Crucial Questions
(Go Basics & Tooling)
🔹 Conceptual Understanding
- Why does Go prefer explicit error returns instead of exceptions?
- What problem do zero values solve?
- Why does Go enforce formatting using
go fmt? - What is the difference between compilation errors and runtime errors?
- Why does Go not allow unused variables or imports?
🔹 Toolchain Awareness
- What does
go mod initactually do? - What problem does
go mod tidysolve? - When should you use
go buildvsgo run? - What happens when you run
go test? - Why does Go include testing in the standard library instead of requiring external frameworks?
🔹 Python → Go Thinking
- How is Go’s static typing different from Python’s dynamic typing in terms of production reliability?
- What advantages does compile-time checking provide?
- What trade-offs does Go make compared to Python?
🔹 Code Review Simulation
- If you see
if err != nil {}, but nothing inside the block, what does that signal? - What is wrong with ignoring returned errors?