我正在尝试创建一个从另一个仅用于存储值的结构继承的结构。
这是我所拥有的:
type Pet struct {
Name string
}
type Dog struct {
*Pet
Breed string
Color string
}
此代码可以正常工作:
var myPet Dog
func main() {
myPet.Name = "Rover"
myPet.Breed = "Labrador"
}
此代码无法正常工作:
var myPet = Dog{
Name: "Rover", // can not inherit name
Breed: "Labrador"
}
func main() {
...
}
我知道是否将struct Dog中的Pet字段设置为Pet类型,那么它将起作用,例如,
type Dog struct {
Pet Pet
Breed string
Color string
}
var myPet = Dog{
Pet{
Name: "Rover",
},
Breed: "Labrador",
Color: "Yellow",
}
无论如何,Go中是否有直接继承(我知道,Go中没有继承...)Pet结构名称字段,并使用Dog {Name:“ Rover”,Breed:“ Labrador”}设置值?>