package main import ( "fmt" ) type mystr string //给一个类型重命名 type Person struct { name string sex byte age int } type Student struct { Person //只有名字,没有字段,这里student相当于继承了person的所有字段,就有点像是继承了 int //设置一个匿名字段 mystr //引用自己设置的匿名字段 } func main() { s := Student{Person{"baylor", 'm', 18}, 666, "NJ"} //匿名字段在这里直接赋值即可 fmt.Println("s = ", s) fmt.Println("s.int = ", s.int) //对于匿名字段在这里直接调用也行 s.Person = Person{"mike", 'f', 19} fmt.Println("s = ", s) }
执行结果
s = {{baylor 109 18} 666 NJ} s.int = 666 s = {{mike 102 19} 666 NJ}