наследование поля Голанга без вложенной инициализации - PullRequest
0 голосов
/ 16 сентября 2018

Можно ли наследовать без инициализатора объекта?

type BaseEmployee struct{
    LastName string
}

type Employee struct {
 Name string,
 BaseEmployee
}

Прямо сейчас у меня есть это:

ob := Employee {
  FirstName: "Ron"
  LastName : BaseEmployee {LastName : "Howard"}
}

НО я хочу добиться чего-то вроде этого:

ob := Employee {
  FirstName: "Ron"
  LastName : "Howard",//<<<<<<<<<---- how us that possible?
}

возможно?

1 Ответ

0 голосов
/ 16 сентября 2018

Согласно комментарию, оставленному в вашем вопросе, нет способа "неявно" связать поля структуры с двумя различными структурами.

Если вы возражаете против синтаксиса инициализации структуры, вы можете обойти это, просто написав вспомогательную функцию для инициализации нового BaseEmployee, например:

func NewBaseEmployee(name string) BaseEmployee {
    return BaseEmployee{LastName: name}
}

ob := Employee {
    FirstName: "Ron"
    LastName : NewBaseEmployee("Howard")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...