没有对象初始化程序就可以继承吗?

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?
}

可能?

最佳答案

根据您对问题的评论,无法将结构字段“隐式”链接到两个不同的结构。

如果这是您反对的结构初始化语法,则可以通过编写便利函数来初始化新的BaseEmployee来解决此问题,例如:

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

ob := Employee {
    FirstName: "Ron"
    LastName : NewBaseEmployee("Howard")
}

关于go - 没有嵌套初始化的golang字段继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52352537/

10-13 06:36