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