我是 golang 的新手,正在學習如何在嵌套struct型別中取消參考。當我通常搜索嵌套結構時,他們會建議@OneOfOne 在如何初始化嵌套結構中建議的方法?
然而,在作業中閱讀代碼庫時,我注意到團隊也使用嵌套指標。我很困惑什么時候應該使用它。IE。嵌套結構req Personvs 嵌套指標req *Person?
例子
人
type Person struct { Name string Age int8 }引數
type args struct { req *Person }
uj5u.com熱心網友回復:
結構屬性中指標的一個常見用例(除了結構大小)是所述屬性的可選性。雖然我不知道特定的用例,但我可以猜測它可能指的是某種可選關系。
例如:Customer具有LastOrderstruct 屬性的結構。由于客戶甚至可能還沒有下過一個訂單,因此將其保留為指標參考可能是有意義的,以便 ti 表示它可能為零。
另一個使用指標屬性的用例是在類圖或參考資料結構中。考慮一個Person同時具有 aMother和 aFather屬性的結構。如果將它們設定為 type Person,編譯器將回傳錯誤,因為結果結構將無限遞回。在這種情況下,那些也必須設定為指標。
希望回答有幫助。
uj5u.com熱心網友回復:
當您希望它是一個可選欄位時,您應該使用指標(因為您可以在初始化變數時簡單地為其分配一個 nil 指標),當一個大小很大并且您想提高應用程式的性能時,或者如果您想擁有指向相同型別變數的欄位,例如:
type Node struct {
Data int
Left *Node
Right *Node
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353829.html
標籤:走
上一篇:如何迭代charmap.All中的Charmaps串列并比較名稱?
下一篇:命名cookie不存在
