Commit Graph
2 Commits
Author SHA1 Message Date
what 1f48635da3 fix: New()/Array() 正确处理 Nil 及已经是 R 的元素,不再 panic/重复包装
New(nil) 之前会 panic,现在返回 Nil(新增的 R 空实现单例,所有操作都是
安全的空操作/零值,不用调用方每次都判空)。New([]R{...}) 和 Array() 遇到
元素本身已经是 R(包括 Nil)时直接透传,不再重新拿 reflect.Value 包一层,
避免丢失原有的空值语义或类型信息。
2026-08-20 17:28:57 +08:00
what fbba6f9a30 feat: 增强 nil 值处理能力
主要改进:
- 简化 setValue 方法中的 nil 值处理逻辑,统一设置为目标类型的零值
- 修复 setFieldValue 方法中 map 类型设置 nil 值时的问题
- 新增完整的 nil 值设置测试,覆盖所有 Go 基础类型和复合类型

测试覆盖:
- 指针、接口、切片、map、channel、func 等可空类型设置为 nil
- int/uint 系列、float 系列、bool、string 等基础类型设置为零值
- 嵌套结构体和 map 中的 nil 值设置
2025-12-09 15:11:18 +08:00