gopkg.in/yaml.v2 是 go 语言解析 yaml 格式配置文件的开源库,
源码地址如下:
https://github.com/go-yaml/yaml
使用安装步骤如下:
在命令行执行
go get gopkg.in/yaml.v2
示例代码:
conf.yaml 文件
rabbitmq:
host: localhost
port: 5672
username: admin
password: password
需要注意 yaml 文件里面的字符都是小写。
go 代码示例:
package main
import (
"fmt"
"io/ioutil"
"log"
yaml "gopkg.in/yaml.v2"
)
type Conf struct {
RabbitMQ struct {
Host string `yaml:"host"`
Port int64 `yaml:"port"`
Username string `yaml:"username"`
Password string `yaml:"password"`
}
}
func readConf(filename string) (*Conf, error) {
buf, err := ioutil.ReadFile(filename)
if err != nil {
return nil, err
}
var conf Conf
err = yaml.Unmarshal(buf, &conf)
if err != nil {
return nil, fmt.Errorf("in file %q: %v", filename, err)
}
return &conf, nil
}
func main() {
conf, err := readConf("conf.yaml")
if err != nil {
log.Fatal(err)
}
fmt.Print("%v", conf)
}