解析YAML配置文件。
1、创建YAML文件
SiteName: jokerSiteAddr: ChongqingHttps: trueNginx:Port: 443LogPath: "/var/log//nginx/nginx.log"Path: "/opt/nginx/"
2、用Go解析YAML文件
package mainimport ("fmt""io/ioutil""gopkg.in/yaml.v2")//Nginx nginx 配置type Nginx struct {Port int `yaml:"Port"`LogPath string `yaml:"LogPath"`Path string `yaml:"Path"`}//Config 系统配置配置type Config struct{Name string `yaml:"SiteName"`Addr string `yaml:"SiteAddr"`HTTPS bool `yaml:"Https"`SiteNginx Nginx `yaml:"Nginx"`}func main() {var setting Configconfig, err := ioutil.ReadFile("./first.yaml")if err != nil {fmt.Print(err)}yaml.Unmarshal(config,&setting)fmt.Println(setting.Name)fmt.Println(setting.Addr)fmt.Println(setting.HTTPS)fmt.Println(setting.SiteNginx.Port)fmt.Println(setting.SiteNginx.LogPath)fmt.Println(setting.SiteNginx.Path)
函数简介:
- ioutil.ReadFile(“./first.yaml”) :读取yaml文件信息
- yaml.Unmarshal()
第一个输入参数:获取 ioutil.ReadFile 的值,为[]byte类型
第二个参数输出参数,可以为任意类型。
