我无法弄清楚如何初始化嵌套结构。在这里找到一个例子: http ://play.golang.org/p/NL6VXdHrjh
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 成为自己的结构吗?
无论如何,您有两个选择:
正确的方法,只需将代理移动到自己的结构,例如:
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", }, }