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

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

Barbara Streisand
Barbara Streisand原創
2024-11-12 17:35:02853瀏覽

How to Initialize String Pointers in Structs in Go?

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

在Go 中,使用指向字串的指標初始化結構體(其中指標可以為nil)需要小心處理。以下程式碼片段舉例說明了這個挑戰:

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 並使用所需值進行初始化。然後,v的位址(即&v)被指派給結構體的Uri字段。這是可行的,因為 Uri 欄位是一個指向字串的指針,而 v 的位址是 *string 類型。

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

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