记录一个简单的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