解析YAML配置文件。
1、创建YAML文件
SiteName: joker
SiteAddr: Chongqing
Https: true
Nginx:
Port: 443
LogPath: "/var/log//nginx/nginx.log"
Path: "/opt/nginx/"
2、用Go解析YAML文件
package main
import (
"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 Config
config, 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类型
第二个参数输出参数,可以为任意类型。