2024-04-13 10:34:22 +08:00
|
|
|
package yamlx
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"log"
|
|
|
|
|
"os"
|
2024-04-13 10:43:10 +08:00
|
|
|
"reflect"
|
2024-04-13 10:34:22 +08:00
|
|
|
|
|
|
|
|
"gopkg.in/yaml.v2"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 初始化配置
|
2024-04-13 10:43:10 +08:00
|
|
|
func InitConfig(path string, configData interface{}) {
|
|
|
|
|
// 判断是否指针
|
|
|
|
|
if reflect.ValueOf(configData).Kind() != reflect.Ptr {
|
|
|
|
|
panic("接收数据需要是指针类型")
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-13 10:34:22 +08:00
|
|
|
data, err := os.ReadFile(path)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Panicf("read config file error,%v", err)
|
|
|
|
|
}
|
|
|
|
|
|
2024-04-13 10:43:10 +08:00
|
|
|
err = yaml.Unmarshal(data, configData)
|
2024-04-13 10:34:22 +08:00
|
|
|
if err != nil {
|
|
|
|
|
log.Panicf("parse config file error, %v", err)
|
|
|
|
|
}
|
|
|
|
|
}
|