如何在結構體文字中初始化 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中文網其他相關文章!