首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

golang如何读取yml配置文件

一、通过yaml.v2读取配置文件数据,需要导入yaml.v2的包

1、首先在config文件夹下定义配置文件config.yml,内容如图:

app模块,下面包含两个字段host,port

log模块:下面包含两个字段suffix,maxSize

server模块:只有一个参数mysql

2、在config文件夹中定义配置文件对应的结构体,将结构体App和Log如图:

App字段:类型为capp,也是一个结构体,内嵌进来

Log字段:类型为clog,也是一个结构体,内嵌进来

Server字段:类型为string,对应的是配置文件中的server

注:为什么要通过capp和clog内嵌进来,因为配置文件中的app和log为多层级的,不像server就是单纯的键值,因此需要通过结构体的方式将app和log映射为对应结构体然后内嵌入Config结构体中

3、在config文件夹中,定义sall.go文件,其中包含了结构体capp和clog,如图:

4、在config外层创建文件peizhi.go,内容如下:

5、运行结果如下:

注:上图中的config.go与sall.go在config文件夹下,因此内嵌的时候直接用的结构体小写名即可,如果不在一起,要用包名.结构体名,并且结构体名需要大写

二、使用Viper读取配置文件

Viper可以处理多种格式的配置,目前已支持从JSON、TOML、YAML、HCL、INI和Java properties文件中读取配置数据,Viper还能监视配置文件的变动、重新读取配置文件。在项目中可以用作热加载,导入包如下:

1、在上面例子基础上,其余不用动,修改peizhi.go文件,内容如下:

运行结果如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230216A080AB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券