为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用反射访问地图的 nil 键?

如何使用反射访问地图的 nil 键?

Go
至尊宝的传说 2021-09-10 17:31:17
我有一个具有 nil-keyed 值的地图:mapp := map[interface{}]interface{}{    nil: "a",}直接访问它的 nil 键是有效的:fmt.Println("key[nil]:", mapp[nil])但是使用反射它不会 - 如何做到这一点?rmapp := reflect.ValueOf(mapp)rkey := reflect.ValueOf(interface{}(nil))rval := rmapp.MapIndex(rmapp.MapIndex(rkey))fmt.Println("key[nil]:", rval)这里的非工作代码:https ://play.golang.org/p/6TKN_tDNgV
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

这是reflect.Valueniltype 值创建 a 的一种方法interface{}

rkey := reflect.ValueOf(new(interface{})).Elem()


查看完整回答
反对 回复 2021-09-10
  • 2 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信