package main import ( "log" "os" "gopkg.in/yaml.v3" ) type Node struct { Real string `yaml:"real"` Virt string `yaml:"virt"` } type Config struct { Network struct { Self Node `yaml:"self"` Nodes []Node `yaml:"nodes"` } `yaml:"network"` } var config = NewConfig() func NewConfig() *Config { cnf := &Config{} f, err := os.Open("config.yaml") if err != nil { log.Panic(err) } dec := yaml.NewDecoder(f) err = dec.Decode(cnf) if err != nil { log.Panic(err) } return cnf }