orderedmap
orderedmap 库提供有序映射(保持键插入顺序的 map),用于需要稳定遍历顺序的场景,如生成确定顺序的 JSON、配置项与报表字段。
典型使用场景:
- 创建:
orderedmap.New(maps...)创建有序映射,按插入顺序保留键的次序,支持增删查与有序遍历。
与相邻库的关系:orderedmap 是数据结构工具,常与 json(保持字段顺序的序列化)、report/excel(有序字段输出)配合。
共 1 个函数
可变参数函数索引
| 函数 | 参数 | 返回值 | 说明 |
|---|---|---|---|
| orderedmap.New | maps ...any | *OrderedMap | 从零创建一个有序映射或从一个普通映射中创建一个有序映射,其的基本用法与普通映射相同,但内置方法可能不同 |
可变参数函数详情
New
New(maps ...any) *OrderedMap
从零创建一个有序映射或从一个普通映射中创建一个有序映射,其的基本用法与普通映射相同,但内置方法可能不同
值得注意的是,如果传入的是一个普通映射,使用此函数转换为有序映射并不能保证原有的顺序
如果需要保留原有顺序,可以使用 omap({"a": 1, "b": 2}) 来直接生成一个有序映射
可选参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| maps | ...any | 可选的初始映射;为空则创建一个空的有序映射 |
返回值
| 序号 | 类型 | 说明 |
|---|---|---|
| r1 | *OrderedMap | 创建出的有序映射对象 |
示例
// VARS: 创建空的有序映射并按顺序写入
om = orderedmap.New()
om.Set("a", 1)
om.Set("b", 2)
// STDOUT: 按写入顺序打印键
println(om.Keys()) // OUT: [a b]
// assert: 长度与取值正确
assert om.Len() == 2, "ordered map should keep two keys"