遇到错误报panic
This commit is contained in:
@@ -4,7 +4,6 @@ package viperx
|
|||||||
// Version: 2023年6月12日18:54:48
|
// Version: 2023年6月12日18:54:48
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
@@ -17,11 +16,12 @@ import (
|
|||||||
|
|
||||||
// 使用viper初始化配置
|
// 使用viper初始化配置
|
||||||
|
|
||||||
func InitConfig(path string, data interface{}) error {
|
func InitConfig(path string, data interface{}) {
|
||||||
|
|
||||||
// 判断是否指针
|
// 判断是否指针
|
||||||
if reflect.ValueOf(data).Kind() != reflect.Ptr {
|
if reflect.ValueOf(data).Kind() != reflect.Ptr {
|
||||||
return errors.New("data must be a pointer")
|
panic("data must be a pointer")
|
||||||
|
// return errors.New("data must be a pointer")
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(path) == 0 {
|
if len(path) == 0 {
|
||||||
@@ -44,7 +44,8 @@ func InitConfig(path string, data interface{}) error {
|
|||||||
v.SetConfigFile(path)
|
v.SetConfigFile(path)
|
||||||
err := v.ReadInConfig()
|
err := v.ReadInConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
panic(fmt.Errorf("Fatal error config file: %s \n", err))
|
||||||
|
// return err
|
||||||
}
|
}
|
||||||
// 监控配置文件的变化
|
// 监控配置文件的变化
|
||||||
v.WatchConfig()
|
v.WatchConfig()
|
||||||
@@ -59,7 +60,8 @@ func InitConfig(path string, data interface{}) error {
|
|||||||
|
|
||||||
if err := v.Unmarshal(&data); err != nil {
|
if err := v.Unmarshal(&data); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return err
|
panic(fmt.Errorf("Fatal error config file: %s \n", err))
|
||||||
|
// return err
|
||||||
}
|
}
|
||||||
return nil
|
// return nil
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-4
@@ -9,10 +9,7 @@ import (
|
|||||||
|
|
||||||
func TestViper(t *testing.T) {
|
func TestViper(t *testing.T) {
|
||||||
var data Config
|
var data Config
|
||||||
err := viperx.InitConfig("./config.yml", &data)
|
viperx.InitConfig("./config.yml", &data)
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
fmt.Println(data)
|
fmt.Println(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user