Go语言初学记 (四): 配置篇
原文再续
上一篇 Go语言初学记 (三): 踩坑篇 介绍实际项目中踩到的一些坑. 经过一些的功能实现,初步功能已经可用了.
前言
一个成熟的工程都需要配置文件,为了 kanban 项目更加灵活,我开始引入配置文件 conf.json.
(采用json格式是因为它比较轻和通用)
配置文件
内容如下:
conf/conf.json
1 | { |
BanSize 为看板列数,BanConfig对应每一个列的相关属性
配置结构
编写与其对应的结构体
1 | package conf |
编写测试用例
1 | unc TestReadConfig(t *testing.T) { |
编写实现代码
1 | package ban |
Tips:
loadConfig()里面兼容了从包内调用和应用目录下调用 2 种方式, 方便单元测试和实际使用.
- 采用”io/ioutil”来读取文件
- 采用”encoding/json”来读取 json并转化 banconfig 结构.
运行单元测试
经过一系列的编写和测试,最终通过测试
1 | Running tool: /usr/local/go/bin/go test -timeout 30s kanban/ban -run ^(TestReadConfig)$ |
To be continue
到此为止,我学到了:
- 如何从 io 读取文件
- 如何读取 json 结构的数据
- 配置文件的相对路径因为调用方不一样,而需要做适配