记录一个简单的golang项目使用配置文件的demo,供以后直接使用。

创建一个conf.go

package module

import (
    "gopkg.in/yaml.v3"
    "io/ioutil"
    "sync"
)

//创建一个结构体
type Config struct {
    Log *string
    Stream *string
    Region string
    Index string
    Esendpoint string
    Esuser string
    Espasswd string
}


var Configs Config
var once sync.Once
func init() {
    once.Do(func() {
    //从外部的conf.yaml文件读取数据
        data,_ := ioutil.ReadFile("./conf/conf.yaml")
    //使用yaml包,把读取到的data格式化后解析到config实例中
        err := yaml.Unmarshal(data,&Configs)
        if err !=nil {
            panic("decode error")
        }
    })
}

在指定的路径中创建配置文件conf.yaml

#日志组名
log: ""
#日志组的日志流名
stream: ""
#区域
region: "cn-northwest-1"
#ES索引名
index: ""
#ESendpoint
esendpoint: ""
#ES用户名密码 没有留空
esuser: ""
espasswd: ""
moudle.Config.log