关于运维:作业-cobra-02-读取配置配置文件-作业解析和思考题

42次阅读

共计 574 个字符,预计需要花费 2 分钟才能阅读完成。

作业: cobra – 02 读取配置配置文件 (作业解析和思考题)

作业要求

  1. 应用 https://github.com/spf13/cobra 实现命令工具
  2. 命令具备以下参数

    1. --config , -c 配置文件

配置文件如下

# config.yml
name: zhangsan
age: 20
  1. 将配置文件保留为 JSON 格局
$ cat config.json

输入后果

{
    "name":"zhangsan",
    "age": 20
}

作业解析

jsonyaml最罕用的 配置文件类型,除此之外还有 ini, toml, xml 等。

解析办法 个别是

  1. Marshal(v any) ([]byte, error) 将构造体 解析[]byte 类型。
  2. Unmarshal(data []byte, v any) error[]byte 映射 到构造体中。这里的 v 须要是 指针类型

另外,不同的 解析库对应的的 办法名称 实现逻辑 也不尽相同,应用的时候须要本人钻研。

有些库,在名字上可能具备肯定变种,但也有迹可循。比方

MarshalJSON
MarshalYAMl

罕用的解析库

  1. json: encoding/json
  2. yaml: gopkg.in/yaml.v3, gopkg.in/yaml.v2 v2 和 v3 有区别,本人钻研。

思考题?

  1. 为什么 json 第一次 Name 和 Age 是 大写字母 结尾的?
  2. yaml, json 解析库的 解析逻辑程序是什么
  3. 怎么样疏忽某个字段的解析?

正文完
 0