==yaml内容==
gin_mode: release authors: - "111" - "222" age: 18 dev: password: 123 test: password: 88
==读写程序==
package main import ( "fmt" "gopkg.in/yaml.v2" "io/ioutil" ) type Pwd struct { Password int `yaml:"password"` } type Env struct { GinMode string `yaml:"gin_mode"` Authors []string `yaml:"authors"` Age int `yaml:"age"` Dev Pwd `yaml:"dev"` Test Pwd `yaml:"test"` } func main() { path := "yaml/test.yaml" // 读取yaml env := readYaml(path) // 修改值 env.Age = 18 env.Test.Password = 88 // 写入yaml writeYaml(path, env) } func checkError(err error) { if err != nil { panic(err) } } func readYaml(path string) (env Env) { content, err := ioutil.ReadFile(path) checkError(err) err = yaml.Unmarshal(content, &env) checkError(err) fmt.Println(err, env) return env } func writeYaml(path string, env Env) { data, err := yaml.Marshal(env) checkError(err) err = ioutil.WriteFile(path, data, 0777) checkError(err) }