中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用go語言怎么初始化嵌套匿名結構體

發布時間:2020-12-15 17:31:00 來源:億速云 閱讀:279 作者:Leah 欄目:開發技術

使用go語言怎么初始化嵌套匿名結構體?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

go匿名結構體

嵌套匿名結構體的 示例代碼片.

type debugConfig struct {
 MaxQueueDepth int      `json:"maxQueueDepth"`
 ListenerEntries string `json:"listenerEntries"`
 Listeners  string
 Logging   struct {
 Info  string `json:"info"`
 Protocol string `json:"protocol"`
 Errlog string `json:"error"`
 Debug string `json:"debug"`
 }
}

初始化方式一

上述嵌套匿名結構體初始化賦值的示例代碼片

 user1 := &debugConfig {
 MaxQueueDepth: 100,
 ListenerEntries: "hello",
 Listeners: "world",
 Logging: struct {
 Info  string `json:"info"`
 Protocol string `json:"protocol"`
 Errlog string `json:"error"`
 Debug string `json:"debug"`
 }{
 Info:"good",
 Protocol: "story",
 Errlog: "shenqi",
 Debug: "shuma",
 },
 }

說明

匿名 struct 直接初始化的時候是需要給出它的結構的。

初始化方式二

上述嵌套匿名結構體初始化賦值的示例代碼片

 var user2 debugConfig
 user2.MaxQueueDepth = 100
 user2.ListenerEntries = "hello"
 user2.Listeners = "world"
 user2.Logging.Info = "good"
 user2.Logging.Protocol = "story"
 user2.Logging.Errlog = "shenqi"
 user2.Logging.Debug = "shuma"

說明

這種方式寫起來更清晰省事兒~

補充:golang 使用匿名結構體的問題

golang允許使用匿名結構體,形如

type Test struct {
  param1 struct {
    param2 string
  }
}

一般在使用的時候可以直接這樣初始化

a := Test{
 param1: struct{ param2 string }{param2: "test"},
}

或者

b := new(Test)

b.param1.param2 = "test"   

但今天遇到一種情況

匿名結構體的成員上有tag聲明,形如

type Test struct {
  param1 struct {
    param2 string `json:"param2"`
  }
}

這時使用第一種初始化方式,始終報錯,說類型不匹配,查了很久,偶然情況下去掉了結構體定義中的tag聲明,居然不報錯了,這時反應過來,使用第一種初始化方式,必須保證跟定義完全一樣,包括tag聲明等

a := Test{
 param1: struct{ param2 string `json:"param2"` }{param2: "test"},
}

關于使用go語言怎么初始化嵌套匿名結構體問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

迁安市| 沁水县| 永德县| 台中市| 甘泉县| 百色市| 集安市| 桃园县| 于都县| 两当县| 黄冈市| 新巴尔虎左旗| 天气| 横峰县| 拜城县| 陵川县| 栖霞市| 内黄县| 布拖县| 师宗县| 富川| 霍林郭勒市| 白银市| 泗水县| 水城县| 叶城县| 哈巴河县| 鄂托克前旗| 佳木斯市| 永济市| 措勤县| 墨竹工卡县| 新田县| 宜阳县| 白水县| 上饶县| 东城区| 嘉祥县| 天祝| 敖汉旗| 普定县|