簡體   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