cast/TEST.md
AI Engineer 966f175846 mark
2026-05-04 09:22:34 +08:00

1.7 KiB
Raw Permalink Blame History

测试报告 (Test Report)

覆盖场景 (Coverage Scenarios)

  • 核心类型转换: Int64, Uint64, Float64, Bool, String,包括边界值、零值及非法字符串输入。
  • 复合类型处理: ToMap, ToSlice, MakeMap, MakeSlice 等全能转化工具,支持 Struct 拍平。
  • JSON/YAML 序列化:
    • 深度结构体映射,支持 FastEncoder 单路径处理。
    • 去标签化算法: 自动识别 UserID -> userID 等符合工程习惯的转换。
    • 脱敏支持: ToJSONDesensitize 在编码阶段原生支持字段脱敏。
    • Map 兼容性: 原生支持 map[any]any 及 Goja 伪数组转换。
  • JSON/YAML 构建:
    • Make 系列: 实现泛型零摩擦构建新对象。
    • 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: ~700-800 ns/op (含 Struct 拍平与类型转换)
  • ToSlice: ~1200-1400 ns/op (含 KV 展开与类型转换)
  • ToJSON (SimpleStruct): ~440 ns/op (相比旧版提升 ~30%)
  • ToJSON (DirtyMap): ~1100 ns/op (相比旧版提升 ~70%)
  • UnmarshalJSON: 高性能单路径解析,显著降低内存分配。
  • UniqueAppend: 大数据量下的 O(n) 时间复杂度。