package main import "fmt" type Person struct { name string sex byte age int } func (tmp Person) PrintInfo () { fmt.Println("Person printinfo = ", tmp) } type Student struct { Person id int addr string } func (tmp Student) PrintInfo () { fmt.Println("Student printinfo = ", tmp) } func main() { s := Student{Person:Person{"mike", 'm', 18}}//student继承person,那么它有person的printinfo方法,但当它自己也有了printinfo方法后,则自己的生效 //自己的找不到才会去找person里的方法
s.PrintInfo()
//如果就是想调用Person里的printinfo方法,那么则可以使用显示调用
s.Person.PrintInfo()
}
执行结果
Student printinfo = {{mike 109 18} 0 }
Person printinfo = {mike 109 18}