go-patterns
CommunityMaster Go design patterns for clean, idiomatic code.
System Documentation
What problem does it solve?
Writing maintainable, scalable, and idiomatic Go code can be challenging without a solid understanding of common design patterns and best practices. This Skill provides a comprehensive guide to established Go patterns, helping you structure your applications effectively and avoid common pitfalls.
Core Features & Use Cases
- Creational Patterns: Learn how to use Factory, Builder, and Singleton patterns in a Go context for flexible object creation.
- Structural Patterns: Explore Adapter, Decorator, and Facade patterns to manage relationships between components and simplify interfaces.
- Behavioral Patterns: Understand Strategy, Observer, and Command patterns for managing algorithms, event handling, and request encapsulation.
- Idiomatic Go Patterns: Discover Go-specific patterns like functional options, error handling with multiple return values, and context for request-scoped values.
- Use Case: You are building a new Go service and need to ensure its architecture is robust and easy to extend. This Skill guides you in applying patterns like the Factory for creating different types of database clients or the Strategy pattern for varying payment processors, leading to a flexible and well-organized codebase.
Quick Start
package main
import "fmt"
// Example: Factory Pattern type Greeter interface { Greet() string }
type EnglishGreeter struct{} func (e EnglishGreeter) Greet() string { return "Hello!" }
type SpanishGreeter struct{} func (s SpanishGreeter) Greet() string { return "¡Hola!" }
func NewGreeter(lang string) Greeter { switch lang { case "en": return EnglishGreeter{} case "es": return SpanishGreeter{} default: return EnglishGreeter{} // Default } }
func main() { greeterEn := NewGreeter("en") fmt.Println(greeterEn.Greet()) // Output: Hello!
greeterEs := NewGreeter("es")
fmt.Println(greeterEs.Greet()) // Output: ¡Hola!
}
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: go-patterns Download link: https://github.com/geoffjay/claude-plugins/archive/main.zip#go-patterns Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.