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
  • 106,723
  • 76
  • 306
  • 327

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,378
  • 1
  • 28
  • 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,723
  • 2
  • 29
  • 34
JimB
  • 96,249
  • 11
  • 237
  • 229