&Duck{}和 和有什么不一样(*Duck)(nil)?有什么理由更喜欢一个吗?前任: fmt.Println(reflect.TypeOf(&Duck{}) == reflect.TypeOf((*Duck)(nil)))//true
fmt.Println(nil == (*Duck)(nil))//true
fmt.Println(nil == &Duck{})//false
1 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
&Duck{}
指向一个“零”结构实例,但它肯定不是零!您可以为其分配值。你不能对 nil 指针做所有这些,不管它们具有相同的类型。
如果您只是对检查类型感兴趣,我认为 nil 指针更有效,因为不涉及对象的分配。
所以这归结为你到底想要做什么。
- 1 回答
- 0 关注
- 151 浏览
添加回答
举报
0/150
提交
取消