Initialize nested struct definition

后端 未结 3 852
天命终不由人
天命终不由人 2020-11-27 14:58

How do you initialize the following struct?

type Sender struct {
    BankCode string
    Name     string
    Contact  struct {
        Name    string
                


        
3条回答
  •  南方客
    南方客 (楼主)
    2020-11-27 15:46

    How about defining the two structs separately and then embedding "Contact" in "Sender"?

    type Sender struct {
        BankCode string
        Name     string
        Contact
    }
    
    type Contact struct {
        Name  string
        Phone string
    }
    

    if you do it this way, your second initialization attempt would work. Additionally, you could use "Contact" on its own.

    If you really want to use the nested struct, you can use Ainar-G's answer, but this version isn't pretty (and it gets even uglier if the structs are deeply nested, as shown here), so I wouldn't do that if it can be avoided.

提交回复
热议问题