~~~
package main
import "fmt"
//人
type Person struct {
name string
sex byte
age int
}
//學生
type Student struct {
Person // 匿名字段,那么默認Student就包含了Person的所有字段
id int
addr string
name string //和Person中的name同名
}
func main() {
var s Student //變量聲明
//給Student的name,還是給Person賦值?
s.name = "mike"
fmt.Printf("%+v\n", s) //{Person:{name: sex:0 age:0} id:0 addr: name:mike}
//默認只會給最外層的成員賦值
//給匿名同名成員賦值,需要顯示調用
s.Person.name = "Kim"
fmt.Printf("%+v\n", s) //Person:{name:Kim sex:0 age:0} id:0 addr: name:mike}
}
~~~