小编典典

如何初始化嵌套结构?

all

我无法弄清楚如何初始化嵌套结构。在这里找到一个例子: 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",
        }
    }

}

阅读 52

收藏
2022-08-15

共1个答案

小编典典

那么,有什么具体的理由不让 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",
    },
}
2022-08-15