golang怎么读取ini、json、yaml配置文件
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本文小编为大家详细介绍"golang怎么读取ini、json、yaml配置文件",内容详细,步骤清晰,细节处理妥当,希望这篇"golang怎么读取ini、json、yaml配置文件"文章能帮助大家解决
千家信息网最后更新 2025年01月16日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安全错误
数据库的锁怎样保障安全
我的世界万人服务器需要多少钱
阿里租用服务器
5g时代网络安全技术
led加数据库
疫情期间网络安全活动
学生课程数据库中有三个表
游戏软件开发专业课程
第三季度网络安全工作会议纪要
淄川仓库管理软件开发
期货软件开发定制要多少钱
网络安全宣传视频创意短片片尾
北京软件开发服务应用
网络安全工业案例宣传
网络安全法word下载
微星x99 服务器主板
武清区数据库耐磨材料推荐厂家
青岛憬淮网络技术有限公司
闪耀特利迦数据库
软件开发 售前
关系数据库的应用领域
皮书数据库是哪个公司的
软件开发bug是什么
数据库唯一索引可以建几个
网易云音乐平台数据库管理系统
上海公安局数据库被攻陷
android 云服务器
软件开发实习生照片
村级网络安全管理制度
双流网络安全建言
星海互联网科技共享智能洗车