◆ 类型别名的形式来声明类型 ◆ iota来自增和自动赋值
显然输出为2
这样亦可.
◆ 无状态且非持久化,可以使用iota ◆ 有状态或者需要持久化,不能使用iota
定义好之后,值不可再改变!
默认使用的JSON字段名称是它的Field名称
◆ 支持string、 bool、 数字类型、数组和切片、结构体、map ◆ Channel、complex、 function 类型无法进行json序列化 ◆ 结构体中的循环数据结构,序列化时不会被处理
◆ JSON tag key : name,[omitempty,-] ◆ [string]标记 , 定义bool,浮点,整数类型使用字符串编码 ◆ 临时添加字段:内嵌结构体,合并多个结构体
◆ 快,并且更快 ◆ 支持java和go ◆ 百分百兼容JSON标准库, 一行代码迁移到jsoniter ◆ 安装: go get github.com/json-iterator/go
静态和动态
开发、测试、灰度、生产
本地文件和分布式服务
ini > properties > yaml > toml > xml > json(推荐度排序)
◆ 配置文件命名规范 前缀+[-_ ]+功能
◆ 程序级别 可以不分组,比如: boot.ini,config.ini
◆ 应用级别分组 比如app-mysql.properties
◆ 不同环境使用不同的配置文件 ◆ 变量化因环境不同的可变配置项
◆ 各种配置源抽象或转换为key/value结构
◆ 支持prop,ini,zk,consul.etcd,nacos
◆ 支持unmarshal
◆ props配置客户端工具库加持+ INI格式
◆ INI文件由节、键、值组成
◆ INI格式三要素 :节、参数(key/value)、注释
◆ section :方括号包围,比如: [mysql]
◆ 参数: key=value ,有些工具支持冒号分割
◆ 注释,使用;,有些编辑器和工具支持#
◆ Section作为分组
◆ props配置客户端使用完整的key来解释
◆ 完整的key由Section和参数key组成 , .
分割