继承
1 package main 2 3 import "fmt" 4 5 type Skills []string 6 7 type person struct { 8 name string 9 age int 10 weight int 11 } 12 13 type Student struct { 14 person //继承 15 Skills 16 int 17 spe string 18 } 19 20 func init() { 21 22 } 23 24 func main() { 25 xuxu := Student{person{"xuxu",25,68}, []string{"anatomy"}, 1, "boy"} //方式一,全部指定 26 jane := Student{person:person{"Jane",25,100}, spe:"Biology"} //方式二,指哪打哪 27 28 fmt.Printf("His name is %s\n", jane.name) 29 fmt.Printf("His name is %s\n", xuxu.name) 30 }
重载
1 package main 2 3 import "fmt" 4 5 type Skills []string 6 7 type person struct { 8 name string 9 age int 10 weight int 11 spe string //inner spe,重载 12 } 13 14 type Student struct { 15 person //继承 16 Skills 17 int 18 spe string //outter spe,重载 19 } 20 21 func init() { 22 23 } 24 25 func main() { 26 xuxu := Student{person{"xuxu",25,68,"inner spe"}, []string{"anatomy"}, 1, "outter spe"} 27 28 fmt.Printf("His name is %s\n, inner spe :%, outter spe :%s", xuxu.name, xuxu.person.spe, xuxu.spe) 29 }