Go语言(二) 继承和重载

继承

 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 }

 

 

    原文作者:银行家问题
    原文地址: https://www.cnblogs.com/xuxu8511/p/3296546.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞