首頁 > 後端開發 > Golang > 主體

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

Barbara Streisand
發布: 2024-11-12 17:35:02
原創
843 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板