GOLANG多态的特征是通过接口来实现的 GOLANG多态形式之一:多态参数
GOLANG多态的简单实现
- //多态的特征是通过接口来实现的
- //多态形式之一:多态参数
package main import( "fmt" _"sort" _"math/rand" ) //多态的特征是通过接口来实现的 //多态形式之一:多态参数 type Usb interface{ start() stop() } type Phone struct{ Name string } type Camera struct{ Name string } func (p Phone) start(){ fmt.Println(p.Name,"开始工作了") } func (p Phone) stop(){ fmt.Println(p.Name,"停止工作了") } func (c Camera) start(){ fmt.Println(c.Name,"开始工作了") } func (c Camera) stop(){ fmt.Println(c.Name,"停止工作了") } type Computer struct{ Name string } func (com Computer) working(usb Usb){ //usb变量会根据传入的实际参数,来判断到底是phone还是camera // 通过usb接口变量来调用start和stop方法 usb.start() usb.stop() } func main(){ var pc Computer = Computer{"dell_R430"} var phone Phone = Phone{"iphone_XS"} var camera Camera = Camera{"TCL_2357R"} pc.working(phone) pc.working(camera) }
代码在终端运行结果为:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

更多精彩