我不知道如何初始化嵌套结构。在这里找到一个例子:
package main type Configuration struct { Val string Proxy struct { Address string Port string } } func main() { c := &Configuration{ Val: "test", Proxy: { Address: "addr", Port: "80", } } }
好吧,不让 Proxy 成为自己的结构的任何具体原因?
无论如何,您有2个选择:
正确的方法,只需将代理移动到它自己的结构体,例如:
type Configuration struct { Val string Proxy Proxy } type Proxy struct { Address string Port string } func main() { c := &Configuration{ Val: "test", Proxy: Proxy{ Address: "addr", Port: "port", }, } fmt.Println(c) fmt.Println(c.Proxy.Address) }
不太合适和丑陋的方式,但仍然有效:
c := &Configuration{ Val: "test", Proxy: struct { Address string Port string }{ Address: "addr", Port: "80", }, }