本文小编为大家详细介绍“golang怎么读取ini、json、yaml配置文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang怎么读取ini、json、yaml配置文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
config := viper.New()
config.AddConfigPath("./conf/") // 文件所在目录
config.SetConfigName("b") // 文件名
config.SetConfigType("ini") // 文件类型
if err := config.ReadInConfig(); err != nil {
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
fmt.Println("找不到配置文件..")
} else {
fmt.Println("配置文件出错..")
}
}
host := config.GetString("redis.host") // 读取配置
fmt.Println("viper load ini: ", host)
b.ini文件如下
[mysql]
username='root'
password='123456'
[redis]
host='127.0.0.1'
poet=3306
[mongodb]
user='admin'
password='admin'
config := viper.New()
config.AddConfigPath("./conf/")
config.SetConfigName("c")
config.SetConfigType("json")
if err := config.ReadInConfig(); err != nil {
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
fmt.Println("找不到配置文件..")
} else {
fmt.Println("配置文件出错..")
}
}
version := config.GetString("version")
origin := config.GetString("host.origin")
fmt.Println(version)
fmt.Println(origin)
// 读取到map中
host := config.GetStringMapString("host")
fmt.Println(host)
fmt.Println(host["origin"])
fmt.Println(host["port"])
allSettings := config.AllSettings()
fmt.Println(allSettings)
c.json文件如下
{
"version": "2.0",
"secret": "footmark",
"host": {
"origin": "http://www.baidu.com",
"port": 8080
}
}
config := viper.New()
config.AddConfigPath("./conf/")
config.SetConfigName("a")
config.SetConfigType("yaml")
if err := config.ReadInConfig(); err != nil {
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
fmt.Println("找不到配置文件..")
} else {
fmt.Println("配置文件出错..")
}
}
host := config.GetString("database.host")
fmt.Println("viper load yml: ", host)
allSettings := config.AllSettings()
fmt.Println(allSettings)
a.yaml文件如下
database:
host: 127.0.0.1
user: root
dbname: test
pwd: 123456
viper常用方法
// viper 常用读取配置的方法
Get(key string) : interface{}
GetBool(key string) : bool
GetFloat64(key string) : float64
GetInt(key string) : int
GetIntSlice(key string) : []int
GetString(key string) : string
GetStringMap(key string) : map[string]interface{}
GetStringMapString(key string) : map[string]string
GetStringSlice(key string) : []string
GetTime(key string) : time.Time
GetDuration(key string) : time.Duration
IsSet(key string) : bool
AllSettings() : map[string]interface{}
读到这里,这篇“golang怎么读取ini、json、yaml配置文件”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。