首頁 >後端開發 >Golang >如何在 Go 結構中初始化字串指標?

如何在 Go 結構中初始化字串指標?

Barbara Streisand
Barbara Streisand原創
2024-11-19 10:40:03919瀏覽

How to Initialize String Pointers in Go Structs?

初始化結構體中的字串指標

初始化結構體中的字串指標可能具有挑戰性,特別是當您需要指針為零時未設定。以下程式碼片段示範了嘗試使用預設字串指標值初始化結構體:

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中文網其他相關文章!

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