2

Similar to this question, I'm try to initialize the following structure with some default values:

type Configuration struct {
    Val   string
    Proxy []struct {
        Address string
        Port    string
    }
}

Is there a way to do this without declaring Proxy separately?

Community
  • 1
  • 1
serg
  • 109,619
  • 77
  • 317
  • 330

2 Answers2

3

You can initialize it as such

cfg := Configuration{
    Val: "foo",
    Proxy: []struct {
        Address string
        Port    string
    }{
        {Address: "a", Port: "093"},
    },
}
Stuart Carnie
  • 5,458
  • 1
  • 29
  • 27
3

Yes, but since you have to declare the type somewhere, it gets (subjectively) ugly:

c := Configuration{
    Val: "value",
    Proxy: []struct {
        Address string
        Port    string
    }{
        {"addr1", "2"},
        {"addr2", "4"},
    },
}
Tim S. Van Haren
  • 8,861
  • 2
  • 30
  • 34
JimB
  • 104,193
  • 13
  • 262
  • 255