初始化結構體中的字串指標
初始化結構體中的字串指標可能具有挑戰性,特別是當您需要指針為零時未設定。以下程式碼片段示範了嘗試使用預設字串指標值初始化結構體:
type Config struct { Uri *string } func init() { var config = Config{ Uri: "my:default" } }
但是,此程式碼失敗並出現錯誤:
cannot use "string" (type string) as type *string in field value發生此錯誤是因為您無法取得常量值的位址(指向)。要解決此問題,您可以定義變數並傳遞其地址。方法如下:
type Config struct { Uri *string } func init() { v := "my:default" var config = Config{ Uri: &v } }現在,初始化成功了,因為 v 是一個變量,可以使用 & 運算子來取得其位址。這允許您在未設定時將 Uri 欄位指向 nil 值,在設定時將其指向特定字串值。
以上是如何在 Go 結構中初始化字串指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!