码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-10-05 20:24:59      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:继承   str   struct   main   string   pac   fun   ack   printf   

// 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中匿名字段的方法继承与方法重写

标签:继承   str   struct   main   string   pac   fun   ack   printf   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!