共计 574 个字符,预计需要花费 2 分钟才能阅读完成。
作业: cobra – 02 读取配置配置文件 (作业解析和思考题)
作业要求
- 应用 https://github.com/spf13/cobra 实现命令工具
-
命令具备以下参数
--config
,-c
配置文件
配置文件如下
# config.yml
name: zhangsan
age: 20
- 将配置文件保留为
JSON
格局
$ cat config.json
输入后果
{
"name":"zhangsan",
"age": 20
}
作业解析
json
和 yaml
是 最罕用的 配置文件类型,除此之外还有 ini, toml, xml
等。
解析办法 个别是
Marshal(v any) ([]byte, error)
将构造体 解析 成[]byte
类型。Unmarshal(data []byte, v any) error
将[]byte
映射 到构造体中。这里的v
须要是 指针类型
另外,不同的 解析库对应的的 办法名称 和 实现逻辑 也不尽相同,应用的时候须要本人钻研。
有些库,在名字上可能具备肯定变种,但也有迹可循。比方
MarshalJSON
MarshalYAMl
罕用的解析库
json
:encoding/json
yaml
:gopkg.in/yaml.v3
,gopkg.in/yaml.v2
v2 和 v3 有区别,本人钻研。
思考题?
- 为什么 json 第一次 Name 和 Age 是 大写字母 结尾的?
- yaml, json 解析库的 解析逻辑程序是什么?
- 怎么样疏忽某个字段的解析?
正文完