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"
說明

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章