package options import ( "gopkg.in/yaml.v3" "os" ) type Config struct { DB DBOption `yaml:"db"` Proxy ProxyOption `yaml:"proxy"` } func LoadConfig() (*Config, error) { cfgPath := os.Getenv("CONFIG_PATH") if cfgPath == "" { cfgPath = "/data/cfg.yaml" } var opt Config f, err := os.Open(cfgPath) if err != nil { return nil, err } defer f.Close() return &opt, yaml.NewDecoder(f).Decode(&opt) }