繁体   English   中英

与reflect.TypeOf一起使用的空结构

[英]Empty struct to use with reflect.TypeOf

&Duck{}(*Duck)(nil)什么区别? 有什么理由比另一个更喜欢一个吗?

例如:

    fmt.Println(reflect.TypeOf(&Duck{}) == reflect.TypeOf((*Duck)(nil)))//true
    fmt.Println(nil == (*Duck)(nil))//true
    fmt.Println(nil == &Duck{})//false

&Duck{}指向一个“零”结构实例,但它肯定不是nil! 您可以为其分配值。 您不能对nil指针进行所有操作,无论它们具有相同的类型。

如果您只是对检查类型感兴趣,我想nil指针会更有效,因为不涉及对象分配。

因此,这取决于您要做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM