package main
import (
"fmt"
)
type Student struct {
Name string
Age int
Score int
}
func (stu *Student) ShowInfo() {
fmt.Printf("学生名%v 年龄%v 成绩%v", stu.Name, stu.Age, stu.Score)
}
func (stu *Student) SetScore(score int){
stu.Score = score
}
type Pupil struct {
Student // 嵌入匿名结构体
}
func (p *Pupil) test() {
fmt.Println("小学生在考试")
}
type Graduate struct {
Student
}
func (p *Graduate) test() {
fmt.Println("大学生在考试")
}
func main() {
pupil := &Pupil{}
pupil.Student.Name = "xiaoxuesheng"
pupil.Student.Age = 8
pupil.test()
pupil.Student.SetScore(68)
pupil.Student.ShowInfo()
graduate := &Graduate{}
graduate.Student.Name = "daxuesheng"
graduate.Student.Age = 22
graduate.test()
graduate.Student.SetScore(88)
graduate.Student.ShowInfo()
}