首頁 >後端開發 >Golang >如何在 Go 結構體中最好地初始化布林指標?

如何在 Go 結構體中最好地初始化布林指標?

Linda Hamilton
Linda Hamilton原創
2024-12-07 19:33:15677瀏覽

How to Best Initialize a Bool Pointer in a Go Struct Literal?

如何在結構體文字中初始化 Bool 指標

在 Go 中,結構體可以包含指向 bool 值的指標的欄位。建立結構體文字時,可以使用間接運算子 (*) 指定 bool 指標欄位的值。但是,有多種方法可以解決此問題。

選項 1:使用切片

一個選項是建立一個具有單一 bool 值 true的切片,然後取得其第一個元素的位址:

h := handler{is: &[]bool{true}[0]}

此方法避免了定義新變量,但引入了額外的樣板檔案和

選項2:使用輔助函數

更簡潔的解決方案是定義一個輔助函數來建立具有所需值的*bool 值:

func newTrue() *bool {
    b := true
    return &b
}

h := handler{is: newTrue()}

選項3:使用匿名函數

您也可以使用匿名函數在一行中建立具有所需值的*bool 值:

h := handler{is: func() *bool { b := true; return &b }()}

選項4:使用函數帶有參數

或者,您可以使用接受布林參數並傳回*bool 的函數值:

h := handler{is: func(b bool) *bool { return &b }(true)}

最佳選項取決於您應用程式的具體需求。考慮程式碼簡單性、效率、可讀性等因素。

以上是如何在 Go 結構體中最好地初始化布林指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn