golang-design-patterns
Guides functional options, constructor APIs, enums, global-state avoidance, and panic-versus-error decisions. Covers resource management, shutdown, timeouts, retries, iterators, and architectural styles such as clean, hexagonal, and domain-driven design.