cast/TEST.md

1.7 KiB
Raw Blame History

测试报告 (Test Report)

覆盖场景 (Coverage Scenarios)

  • 语义化转换: To[T]As[T] 覆盖基础类型、Slice、Map 及智能 JSON 自动穿透转换。
  • 核心类型转换: Int64, Uint64, Float64, Bool, String,包括边界值、零值及非法字符串输入。
  • 容器处理: ToMap, AsMap, ToSlice, AsSlice 等泛型工具,支持 Struct 拍平与 KV 序列化。
  • JSON 序列化:
    • 深度结构体映射,支持 FastEncoder 单路径处理。
    • 去标签化算法: 自动识别 UserID -> userID 等符合工程习惯的转换。
    • 脱敏支持: ToJSONDesensitize 在编码阶段原生支持字段脱敏。
    • Map 兼容性: 原生支持 map[any]any 及 Goja 伪数组转换。
  • JSON 构建:
    • As 系列: 实现泛型零摩擦构建新对象。
    • 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 ns/op
  • ToMap: ~725 ns/op (含 Struct 拍平与类型转换)
  • ToSlice: ~1700 ns/op (含 Map Key 排序稳定化处理)
  • ToJSON (SimpleStruct): ~450 ns/op
  • ToJSON (DirtyMap): ~1100-1200 ns/op
  • UnmarshalJSON: 高性能单路径解析,显著降低内存分配。
  • UniqueAppend: 大数据量下的 O(n) 时间复杂度。