go-design-patterns

Installation
SKILL.md

Go Design Patterns

Go favors composition over inheritance and simplicity over abstraction. These patterns are idiomatic Go — not Java patterns ported to Go.

1. Functional Options

The most idiomatic Go pattern for configurable constructors. Use when a type has many optional settings.

type Server struct {
    addr         string
    readTimeout  time.Duration
    writeTimeout time.Duration
    logger       *slog.Logger
}

type Option func(*Server)
Related skills
Installs
27
GitHub Stars
56
First Seen
Apr 6, 2026