golang怎么读取ini、json、yaml配置文件
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本文小编为大家详细介绍"golang怎么读取ini、json、yaml配置文件",内容详细,步骤清晰,细节处理妥当,希望这篇"golang怎么读取ini、json、yaml配置文件"文章能帮助大家解决
千家信息网最后更新 2026年10月31日golang怎么读取ini、json、yaml配置文件日常项目中,读取各种配置文件是避免不了的,这里介绍一个能读取多种配置文件的库,viper
本文小编为大家详细介绍"golang怎么读取ini、json、yaml配置文件",内容详细,步骤清晰,细节处理妥当,希望这篇"golang怎么读取ini、json、yaml配置文件"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
日常项目中,读取各种配置文件是避免不了的,这里介绍一个能读取多种配置文件的库,viper
viper读取ini文件
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'
viper读取json文件
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 }}viper读取yaml文件
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) : boolGetFloat64(key string) : float64GetInt(key string) : intGetIntSlice(key string) : []intGetString(key string) : stringGetStringMap(key string) : map[string]interface{}GetStringMapString(key string) : map[string]stringGetStringSlice(key string) : []stringGetTime(key string) : time.TimeGetDuration(key string) : time.DurationIsSet(key string) : boolAllSettings() : map[string]interface{}读到这里,这篇"golang怎么读取ini、json、yaml配置文件"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
文件
配置
文章
内容
常用
方法
妥当
多种
思路
所在
文件名
新知
更多
步骤
目录
知识
知识点
篇文章
类型
细节
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州百单互联网科技有限公司
互联网与科技发展
致骋互联网科技
凡科互联网科技
唐信互联网科技 大连
郑州华宇互联网科技
上海亿帐通互联网科技
互联网养老 桔豆科技
互联网科技类展会
湖南洣水互联网科技有限公司扣款
中国互联网有什么科技含量
欧洲十大科技互联网公司
来此购互联网科技有限公司
昊天互联网科技有限公司
互联网科技商业
搜狐科技互联网
电子科技大学互联网创业大赛
北京市互联网新科技
皮皮虾互联网科技有限公司
广州燕处互联网科技有限公司
科技平台互联网
河南真二互联网科技有限公司
盈实互联网科技
互联网为科技
互联网科技大会案例
移动互联网年度科技创新
速维有品互联网信息科技(苏州)有限公司
中国互联网十大科技股排名
云鲸互联网络科技有限公司
中国主要互联网科技公司