Software Development
Golang Design Patterns
Idiomatic Golang design patterns — functional options, constructor APIs, `init()` and global-state avoidance, enums, panic vs error decisions, resource management and lifecycle, graceful shutdown, timeouts and retries, streaming and iterators, and architecture styles (clean, hexagonal, DDD, flat). Apply when choosing between architectural patterns, implementing functional options, designing constructor APIs, setting up graceful shutdown, applying resilience patterns, or asking which idiomatic Go pattern fits a specific problem. Not for wiring a DI container or comparing DI libraries (→ See `samber/cc-skills-golang@golang-dependency-injection` skill), nor for error wrapping, `errors.Is`/`As`, or logging mechanics (→ See `samber/cc-skills-golang@golang-error-handling` skill).
- Publisher / source
- samber/cc-skills-golang (found on skills.sh)
- Upstream record
- samber/cc-skills-golang
- Version
- Version 3
- Published
- Publication review
- Approved for publication
- Content fingerprint
49bfe0170e71d2768f57415f0322b4e27149d03ea3d86b85ef346631668b0f51