golang 配置文件 yaml 使用方法

 go get gopkg.in/yaml.v2

生成配置文件:

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main(){
	fd, err := os.OpenFile("./kpid.yaml",  os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)
	if err != nil {
		panic(err)
	}
	defer fd.Close()
	kk := 1
	mm:=fmt.Sprintf("aa: %d", kk)

	w := bufio.NewWriter(fd)
	n4, err := w.WriteString(mm)
	fmt.Printf("wrote %d bytes\n", n4)
	w.Flush()
}

 如图:

读取配置文件: 

package main

import (
	"io/ioutil"
	"gopkg.in/yaml.v2"
	"fmt"
	"reflect"
)

func main() {
	var c conf
	pidval := c.getConf()
	fmt.Println(pidval.Aa)
	fmt.Println(reflect.TypeOf(pidval.Aa))
}

type conf struct {
	Aa int `yaml:"aa"`
}
func (c *conf) getConf() *conf {
	yamlFile, err := ioutil.ReadFile("/test/kpid.yaml")
	if err != nil {
		fmt.Println(err.Error())
	}
	err = yaml.Unmarshal(yamlFile, c)
	if err != nil {
		fmt.Println(err.Error())
	}
	return c
}

如图:

发布了70 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/YMY_mine/article/details/103567151