darccio/mergo
Mergo: merging Go structs and maps since 2013 observed · 2026-08-28
Health v2 · maintenance only
67/100
- Activity 99
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4923
- days_rel: 483
- days_push: 9
- n_releases_24m: 1
Adoption not part of the score
3106 stars · 283 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Mergo is a Go library that merges same-type structs and maps by setting default values in zero-value fields using reflection. It has been stable since 2013 and is widely used in production, though it is frozen with no new features accepted.
Use cases
- merge default values into a Go config struct
- fill zero-value fields of a struct from another struct
- deep merge two maps in Go
- avoid messy if-statements when applying config defaults
- overlay user settings on top of defaults
When to choose
- you need recursive merging of exported struct fields or maps in Go
- you want a battle-tested, production-ready library for setting default values
- you need a small dependency with a stable, frozen API
When to avoid
- you need to merge unexported (private) fields
- you need to merge structs inside maps
- you need new features or ongoing development, since the library is frozen
- you are not working in Go
Facets
library · maturity stable
serialization developer-tools developer-tools backend go cross-platform struct-merging map-merging default-values reflection configuration
1 source
- readme: https://github.com/darccio/mergo · fetched 2026-08-28 · b438d695e52d
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| darccio/mergo | main | 67 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem