首页 > 其他 > 详细

Go中匿名字段的方法继承与方法重写

时间:2018-10-05 20:18:11      阅读:208      评论:0      收藏:0      [点我收藏+]
// code_019_struct_anonymous_field_method project main.go package main import ( "fmt" ) type Person struct { name string sex byte age int } func (p *Person) PrintInfo() { fmt.Printf("Person:%s,%c,%d\n", p.name, p.sex, p.age) } type Student struct { Person id int addr string } //方法被重写,但是不能被重载;若未被重写,则继承匿名字段的方法 func (s *Student) PrintInfo() { fmt.Printf("Student:%s,%c,%d\n", s.name, s.sex, s.age) } func main() { p := Person{"ck_god", ‘m‘, 18} p.PrintInfo() s := Student{Person{"god_girl", ‘f‘, 20}, 2, "sz"} s.PrintInfo() s.Person.PrintInfo() }

运行结果如下:

Person:ck_god,m,18
Student:god_girl,f,20
Person:god_girl,f,20

Go中匿名字段的方法继承与方法重写

原文:http://blog.51cto.com/13914991/2293998

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!