在这里新手。我有两个结构,父母和孩子。 Child包含Parent作为匿名字段。我想知道如何将该结构传递给期望父级的函数(并且对Child没有任何了解)。这是代码,说明了我想要做的事情:
package main
import "fmt"
type Parent struct {
Dad string
}
type Child struct {
Parent
Son string
}
func myfunc(data Parent) {
fmt.Printf("Dad is %s\n", data.Dad)
}
func main() {
var data Child
data.Dad = "pappy"
data.Son = "sonny"
myfunc(data)
}
myfunc()的神奇宣言是什么让它起作用?
答案 0 :(得分:3)
您的代码works on the Go playground如果您只是将倒数第二行更改为:
myfunc(data.Parent)
由于您说myfunc
对myfunc
课程一无所知,因此您不应期望能够改变Child
。