Chapter Takeaways
- Go favors explicit over implicit constructs—errors are returned, not thrown
- Zero values provide safe defaults for all types
- Use
:= only when declaring new variables; use = for assignment
- Go uses composition over inheritance through structs and interfaces
- Interfaces are satisfied implicitly—no explicit declaration needed
- Pointers enable efficient data sharing without copying
- Slices are preferred over arrays for most use cases
defer ensures cleanup code runs even when functions return early