go-patterns

Community

Master Go design patterns for clean, idiomatic code.

Authorgeoffjay
Version1.0.0
Installs0

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 required

Components

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.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.