Golang——使用yaml配置文件
来源:互联网 发布:sql 表中复制数据 编辑:程序博客网 时间:2024/05/17 08:10
Golang——使用yaml配置文件
之前一直从事java开发,习惯了使用yaml文件的格式,尤其是清晰的层次结构、注释。抱着好奇心以及对golang的看好开始学习golang,逐渐喜欢上了这门语言,也尝试着在项目中使用golang,当然编程必定涉及到配置,go程序依然如此,自然而然首选yaml配置。
一、安装依赖、
在选择之前也了解过各类yaml解析库,最终选择go-yaml包。地址:go-yaml
go get gopkg.in/yaml.v2
二、config.yaml
channel: #亿美-催还款账号信息 emayReminder: userId: abcd userPws: abcd url: http://bjmtn.b2m.cn:80/inter/getBalance threshold: 10000 #国都短信账号信息 guodu: userId: dddd userPws: sssss keyStr: dddddd url: http://221.179.180.158:8081/QxtSms_surplus/surplus threshold: 10000
三、读取配置文件ChannelConfig.go
读取yaml与读取json的方式,需要根据层级定义struct。
package utilimport ( "io/ioutil" "log" "gopkg.in/yaml.v2")var configFile []bytetype ChannelConfig struct { Channel Channel `yaml:"channel"`}type Channel struct { EmayReminderConfig EmayReminder `yaml:"emayReminder"` GuoduConfig Guodu `yaml:"guodu"`}type EmayReminder struct { UserId string `yaml:"userId"` UserPws string `yaml:"userPws"` Url string `yaml:"url"` Threshold string `yaml:"threshold"`}type Guodu struct { UserId string `yaml:"userId"` UserPws string `yaml:"userPws"` Url string `yaml:"url"` KeyStr string `yaml:"keyStr"` Threshold string `yaml:"threshold"`}func GetChannelConfig() (e *ChannelConfig, err error) { err = yaml.Unmarshal(configFile, &e) return e, err}func init() { var err error; configFile, err = ioutil.ReadFile("resource/config.yaml") if err != nil { log.Fatalf("yamlFile.Get err %v ", err) }}
四、测试main.go
package mainimport ( "github.com/KarenLKL/Balance/route" "net/http" "github.com/KarenLKL/Balance/util" "log" "fmt")func main() { router := route.NewRouter() config, err := util.GetChannelConfig() if err != nil { log.Printf("get emayReminder channel config faild! err: #%v", err) } fmt.Println(config) http.ListenAndServe(":8888", router)}
用问题的地方,请您指正 ^_^
阅读全文
0 0
- Golang——使用yaml配置文件
- golang使用yaml格式解析构建配置文件
- 使用SnakeYAML读取yaml配置文件
- 在OpenCV中使用YAML配置文件
- go语言中yaml配置文件的使用
- [Golang] 从零开始写Socket Server(4):将运行参数放入配置文件(XML/YAML)
- python——使用yaml数据格式,PK --> XML,JSON
- Springboot配置文件之yaml
- sotrm.yaml配置文件
- python的配置文件app.yaml
- Java读取/写入Yaml配置文件
- 配置文件之YAML语言教程
- Storm的配置文件yaml详解
- golang学习笔记之yaml文件处理
- yaml的使用及.yaml文件格式问题
- Go实战--go语言中使用YAML配置文件(与json、xml、ini对比)
- Go实战--go语言中使用YAML配置文件(与json、xml、ini对比)
- Ego20140918003——Golang Import使用
- 金海佳学C++primer 练习9.27
- 共享存储
- 硬盘坏了?真坏了?我帮你呀!
- flask踩过的坑,静态资源修改没有生效
- 存储过程知识梳理和整合
- Golang——使用yaml配置文件
- Apache Slider + HBase搭建部署
- TCP 文件传输
- linux查看汇编代码
- 《深入实践Spring Boot》
- SpringBoot整合Mybatis扫描不到Mapper的问题
- Eclipse中使用SVN
- MFC对话框及窗口函数调用顺序
- javax注解适用范围