1.7 KiB
1.7 KiB
Changelog: @go/convert
[v1.0.5] - 2026-05-04
Fixed
- 兼容性修复:修复了由于
cast库 API 变更导致的MustJSONBytes未定义错误,更新为MustToJSONBytes。
[v1.0.4] - 2026-04-30
Changed
- 性能重构:重构了反射字段匹配逻辑,引入
sync.Map缓存结构体元数据,性能从O(N)优化至 $O(1)$,Benchmark 结果约为1020 ns/op。 - 匹配策略优化:实现了“分层模糊匹配”,确保在保留“零摩擦”模糊匹配哲学的同时,适配更多不规范命名风格(如下划线、中划线、大小写混用)。
- 防御性强化:重构了
To函数中的指针解引用与初始化逻辑,移除了由于nil指针或非法嵌套引起的 Panic 风险,支持多级指针自动分配内存。 - 辅助函数优化:将
FlattenStruct的内部递归逻辑重构为高性能 Visitor 模式,增加了深度递归防护。
[v1.0.0] - 2026-04-22
Added
- 核心映射引擎:基于反射的深度对象转换功能,支持 Struct, Map, Slice。
- 意图优先设计:支持单值与切片的自动包装/解包转换。
- 智能字符串转换:支持将 CSV 格式字符串 (
"a,b,c") 自动转为切片。 - 极致去摩擦匹配:键名映射时自动忽略大小写及所有非字母数字字符(如
_,-,#等)。 - 函数桥接器:支持将一个函数转换为另一个签名的函数,并自动处理参数转换。
- Parse 钩子:支持通过
ParseXxx方法定制特定字段的转换逻辑。 - 平展工具:提供
FlatStruct辅助函数用于获取结构体的扁平化字段信息。 - 接口兼容:原生支持
json.Unmarshaler和yaml.Unmarshaler。