yaml简单模板



type Host struct {
	HostName string `yaml:"host"`
	Addr     string `yaml:"ip"`
}
type Hosts []Host


func (bs *Hosts) Read(filename string) error {
	f, err := os.Open(filename)
	if err != nil {
		return err
	}
	b, err := io.ReadAll(f)
	if err != nil {
		return err
	}
	err = yaml.Unmarshal(b, bs)

	return err
}

注意,要传指针(bs *Hosts) 这个地方。 yaml我是我比较喜欢的文件格式,可以直接导入struct,比较容易理解一些,个人觉得。