Go MIT

config

Configuration for Go applications

U

uber-go

Dernière activité 27 sept. 2026
uber-go/config

479

étoiles

43

forks

7

issues ouvertes

configurationgogolangyaml

Ce README est souvent en anglais.

🎣 config GoDoc Build Status Coverage Status

Convenient, injection-friendly YAML configuration.

Installation

go get -u go.uber.org/config

Note that config only supports the two most recent minor versions of Go.

Quick Start

// Model your application's configuration using a Go struct.
type cfg struct {
    Parameter string
}

// Two sources of configuration to merge.
base := strings.NewReader("module: {parameter: foo}")
override := strings.NewReader("module: {parameter: bar}")

// Merge the two sources into a Provider. Later sources are higher-priority.
// See the top-level package documentation for details on the merging logic.
provider, err := config.NewYAML(config.Source(base), config.Source(override))
if err != nil {
    panic(err) // handle error
}

var c cfg
if err := provider.Get("module").Populate(&c); err != nil {
  panic(err) // handle error
}

fmt.Printf("%+v\n", c)
// Output:
// {Parameter:bar}

Development Status: Stable

All APIs are finalized, and no breaking changes will be made in the 1.x series of releases. Users of semver-aware dependency management systems should pin config to ^1.


Released under the MIT License.

Projets similaires

YAML support for the Go language

Gogogolanggolang-library
Ggoccy
2,2 k étoiles261

The Go programming language

Gogogolanglanguage
Ggolang
139,1 k étoiles20,9 k

Go configuration with fangs

Go
Sspf13
30,5 k étoiles2,3 k