2026-04-30 22:16:01 +08:00
|
|
|
|
# 测试报告 (Test Report)
|
|
|
|
|
|
|
|
|
|
|
|
## 覆盖场景 (Coverage Scenarios)
|
2026-05-04 10:41:34 +08:00
|
|
|
|
- **语义化转换**: `To[T]` 和 `As[T]` 覆盖基础类型、Slice、Map 及智能 JSON 自动穿透转换。
|
2026-04-30 22:16:01 +08:00
|
|
|
|
- **核心类型转换**: `Int64`, `Uint64`, `Float64`, `Bool`, `String`,包括边界值、零值及非法字符串输入。
|
2026-05-04 10:41:34 +08:00
|
|
|
|
- **容器处理**: `ToMap`, `AsMap`, `ToSlice`, `AsSlice` 等泛型工具,支持 Struct 拍平与 KV 序列化。
|
|
|
|
|
|
- **JSON 序列化**:
|
2026-05-02 23:00:44 +08:00
|
|
|
|
- 深度结构体映射,支持 `FastEncoder` 单路径处理。
|
|
|
|
|
|
- **去标签化算法**: 自动识别 `UserID` -> `userID` 等符合工程习惯的转换。
|
|
|
|
|
|
- **脱敏支持**: `ToJSONDesensitize` 在编码阶段原生支持字段脱敏。
|
|
|
|
|
|
- **Map 兼容性**: 原生支持 `map[any]any` 及 Goja 伪数组转换。
|
2026-05-04 10:41:34 +08:00
|
|
|
|
- **JSON 构建**:
|
|
|
|
|
|
- **As 系列**: 实现泛型零摩擦构建新对象。
|
2026-05-02 23:00:44 +08:00
|
|
|
|
- **FastDecoder**: 实现单路径流式解析,跳过中间 Map 分配。
|
|
|
|
|
|
- **Frictionless 匹配**: 支持大小写不敏感、忽略下划线等灵活的 Key 映射规则。
|
|
|
|
|
|
- **智能初始化**: 自动处理嵌套指针、Slice 和 Map 的初始化。
|
2026-04-30 22:16:01 +08:00
|
|
|
|
- **指针与接口**: `RealValue` 处理多级指针与接口解包。
|
2026-05-02 23:00:44 +08:00
|
|
|
|
- **高性能实用函数**: `UniqueAppend` ($O(n)$ 去重),`If` (泛型三元),`SplitArgs` (支持引用格式)。
|
2026-04-30 22:16:01 +08:00
|
|
|
|
|
|
|
|
|
|
## 性能基准 (Benchmark Results - Intel(R) Core(TM) i9)
|
2026-05-02 23:00:44 +08:00
|
|
|
|
- `If`: ~0.24 ns/op
|
2026-05-04 09:22:34 +08:00
|
|
|
|
- `Int64`: ~20 ns/op
|
2026-05-04 10:41:34 +08:00
|
|
|
|
- `ToMap`: ~725 ns/op (含 Struct 拍平与类型转换)
|
|
|
|
|
|
- `ToSlice`: ~1700 ns/op (含 Map Key 排序稳定化处理)
|
|
|
|
|
|
- `ToJSON (SimpleStruct)`: ~450 ns/op
|
|
|
|
|
|
- `ToJSON (DirtyMap)`: ~1100-1200 ns/op
|
2026-05-02 23:00:44 +08:00
|
|
|
|
- `UnmarshalJSON`: 高性能单路径解析,显著降低内存分配。
|
|
|
|
|
|
- `UniqueAppend`: 大数据量下的 $O(n)$ 时间复杂度。
|