yaml文件名:agent.yml
agent:agentName: agent001location:type: cdbenv: prodrole: roset: tsh2idc: st4zone: ap-shanghai-4hostname: baidu.comcontent: register new Agent agent001
注意,空格,不要用tab键
golang文件:main.go
package mainimport ("fmt""os""gopkg.in/yaml.v2"
)type LocationKey struct {CloudType string `yaml:"type"`Env string `yaml:"env"`Role string `yaml:"role"`Set string `yaml:"set"`Idc string `yaml:"idc"`Zone string `yaml:"zone"`Hostname string `yaml:"hostname"`
}type Agent struct {AgentName string `yaml:"agentName"`AgentKey LocationKey `yaml:"location"`Content string `yaml:"content"`
}type as struct {Magent Agent `yaml:"agent"`
}func main() {var a asdata, err := os.ReadFile("./agent.yml")if err != nil {fmt.Println(err.Error())return}fmt.Println(string(data))err = yaml.Unmarshal(data, &a)if err != nil {fmt.Println(err.Error())return}fmt.Println(a)
}
执行:
# go mod tidy
# go build main.go