25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# 测试报告 (Test Report)
|
||
|
||
## 覆盖场景 (Coverage Scenarios)
|
||
- **核心类型转换**: `Int64`, `Uint64`, `Float64`, `Bool`, `String`,包括边界值、零值及非法字符串输入。
|
||
- **复合类型处理**: `Ints`, `Strings` 自动解析 JSON 字符串或直接转换。
|
||
- **JSON/YAML 序列化**:
|
||
- 深度结构体映射,支持 `FastEncoder` 单路径处理。
|
||
- **去标签化算法**: 自动识别 `UserID` -> `userID` 等符合工程习惯的转换。
|
||
- **脱敏支持**: `ToJSONDesensitize` 在编码阶段原生支持字段脱敏。
|
||
- **Map 兼容性**: 原生支持 `map[any]any` 及 Goja 伪数组转换。
|
||
- **JSON 反序列化**:
|
||
- **FastDecoder**: 实现单路径流式解析,跳过中间 Map 分配。
|
||
- **Frictionless 匹配**: 支持大小写不敏感、忽略下划线等灵活的 Key 映射规则。
|
||
- **智能初始化**: 自动处理嵌套指针、Slice 和 Map 的初始化。
|
||
- **指针与接口**: `RealValue` 处理多级指针与接口解包。
|
||
- **高性能实用函数**: `UniqueAppend` ($O(n)$ 去重),`If` (泛型三元),`SplitArgs` (支持引用格式)。
|
||
|
||
## 性能基准 (Benchmark Results - Intel(R) Core(TM) i9)
|
||
- `If`: ~0.24 ns/op
|
||
- `Int64`: ~20.4 ns/op
|
||
- `ToJSON (SimpleStruct)`: ~448.5 ns/op (相比旧版提升 ~30%)
|
||
- `ToJSON (DirtyMap)`: ~1126 ns/op (相比旧版提升 ~70%)
|
||
- `UnmarshalJSON`: 高性能单路径解析,显著降低内存分配。
|
||
- `UniqueAppend`: 大数据量下的 $O(n)$ 时间复杂度。
|