代码拉取完成,页面将自动刷新
package configT
import (
"github.com/spf13/viper"
"gitee.com/ydxj/gotls/baseT/logT"
"gitee.com/ydxj/gotls/baseT/osT"
)
type Config struct {
Viper *viper.Viper
}
func NewConfig(filepath string, ty ...string) *Config {
// 获取配置
v := viper.New()
// 设置读取的文件路径
v.AddConfigPath(osT.GetFileDir(filepath))
// 设置读取的文件名
v.SetConfigName(osT.GetFileNameWithSuffix(filepath))
// 设置文件的类型
if len(ty) > 0 {
v.SetConfigType(osT.GetFileSuffix(ty[0]))
} else {
v.SetConfigType(osT.GetFileSuffix(filepath)[1:])
}
// 尝试进行配置读取
err := v.ReadInConfig()
if err != nil {
logT.Error(err.Error())
panic("配置读取失败: " + err.Error())
}
return &Config{Viper: v}
}
func NewYamlConfig(configPath string) *Config {
return NewConfig(configPath)
}
func (config *Config) ReadBool(name string, defaultValue ...int) bool {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetBool(name)
}
func (config *Config) ReadInt(name string, defaultValue ...int) int {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetInt(name)
}
func (config *Config) ReadIntSlice(name string, defaultValue ...int) []int {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetIntSlice(name)
}
func (config *Config) ReadInt32(name string, defaultValue ...int) int32 {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetInt32(name)
}
func (config *Config) ReadInt64(name string, defaultValue ...int) int64 {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetInt64(name)
}
func (config *Config) ReadString(name string, defaultValue ...string) string {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetString(name)
}
func (config *Config) ReadStringSlice(name string, defaultValue ...[]string) []string {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.GetStringSlice(name)
}
func (config *Config) ReadAny(name string, defaultValue ...any) any {
if len(defaultValue) > 0 {
config.Viper.SetDefault(name, defaultValue[0])
}
return config.Viper.Get(name)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。