// code_22_interface_field_interface project main.go package main import ( "fmt" ) type Humaner interface { SayHi() } type Personer interface { Humaner Sing(lyrics string) //lyrics 歌词 } type Student struct { name string score float64 } func (s *Student) SayHi() { fmt.Printf("Student[%s, %f]say hi!\n", s.name, s.score) } func (s *Student) Sing(lyrics string) { fmt.Printf("Student sing[%s]!!\n", lyrics) } func main() { s := &Student{"ck_god", 88.88} var i2 Personer i2 = s //接口指向struct对象 i2.SayHi() i2.Sing("god is a girl") //var i3 Humaner = &Student{"ck_god", 88.88} //var i4 Personer = i1 //err //Personer为超集,Humaner为子集 var i5 Personer = &Student{"ck_god", 88.88} var i6 Humaner = i5 i6.SayHi() } //总结:通过赋值或者参数传递的形式,完成接口的调用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解C#(第3版)
斯基特 (Jon Skeet) / 姚琪琳 / 人民邮电出版社 / 2014-4-1 / 99.00元
本书是世界顶级技术专家“十年磨一剑”的经典之作,在C#和.NET领域享有盛誉。与其他泛泛介绍C#的书籍不同,本书深度探究C#的特性,并结合技术发展,引领读者深入C#的时空。作者从语言设计的动机出发,介绍支持这些特性的核心概念。作者将新的语言特性放在C#语言发展的背景之上,用极富实际意义的示例,向读者展示编写代码和设计解决方案的最佳方式。同时作者将多年的C#开发经验与读者分享,读者可咀其精华、免走弯......一起来看看 《深入理解C#(第3版)》 这本书的介绍吧!