📘 Week 1 – Crucial Questions

(Go Basics & Tooling)


🔹 Conceptual Understanding

  1. Why does Go prefer explicit error returns instead of exceptions?
  2. What problem do zero values solve?
  3. Why does Go enforce formatting using go fmt?
  4. What is the difference between compilation errors and runtime errors?
  5. Why does Go not allow unused variables or imports?

🔹 Toolchain Awareness

  1. What does go mod init actually do?
  2. What problem does go mod tidy solve?
  3. When should you use go build vs go run?
  4. What happens when you run go test?
  5. Why does Go include testing in the standard library instead of requiring external frameworks?

🔹 Python → Go Thinking

  1. How is Go’s static typing different from Python’s dynamic typing in terms of production reliability?
  2. What advantages does compile-time checking provide?
  3. What trade-offs does Go make compared to Python?

🔹 Code Review Simulation

  1. If you see if err != nil {}, but nothing inside the block, what does that signal?
  2. What is wrong with ignoring returned errors?


This site uses Just the Docs, a documentation theme for Jekyll.