# tmrts/go-patterns

Curated list of Go design patterns, recipes and idioms

Repository: https://github.com/tmrts/go-patterns
Canonical: https://ross.abutalabs.com/products/go-patterns
Homepage: http://tmrts.com/go-patterns
Language: Go
License: Apache-2.0
License Family: permissive
Topics: go, idioms, patterns, awesome, golang, design-patterns, design-patterns-for-humans
Last push: 2024-05-14T01:07:28+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3915, "days_push": 842, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 28200, forks 2340 (observed 2026-08-28T04:11:48.196357+00:00)

## What it is
A curated, awesome-style collection of idiomatic design patterns, recipes, and idioms for the Go programming language, organized into creational, structural, and behavioral categories. Each pattern links to a markdown explanation with example code and implementation status.

## Use cases
- learn design patterns in go
- find idiomatic go examples for common patterns
- reference for implementing singleton or builder in golang
- study go concurrency and behavioral patterns
- onboarding resource for developers new to go

## When to choose
- you want concise, idiomatic Go examples of classic design patterns
- you are learning Go and want a curated pattern reference
- you need a quick lookup for pattern implementations with code

## When to avoid
- you need a runnable library or framework to import into your project
- you need exhaustive, up-to-date coverage of every pattern (many entries are marked incomplete)
- you are looking for patterns in languages other than Go

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: documentation, developer-tools
- domain: programming-languages, tutorials, awesome-lists, developer-tools
- platform: go, cross-platform
- tags: design-patterns, go-idioms, curated-list, golang, software-architecture

## Member repositories
- tmrts/go-patterns (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:48.196357+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T16:54:25.780105+00:00, confidence not recorded.
  - readme: https://github.com/tmrts/go-patterns (fetched 2026-08-28T04:11:48.196357+00:00, sha 936a4b650445)
- Data as of 2026-08-30T08:39:29.467469+00:00.
