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

Go多态

时间:2020-01-26 10:19:29      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:数组   ace   com   个数   code   参数   size   usb   bar   

1. 基本介绍

技术图片

2. 接口体现多态的两种形式

技术图片

2.1 多态参数

技术图片

2.2 多态数组

package main
import (
	"fmt"
)

//声明/定义一个接口
type Usb interface {
	//声明了两个没有实现的方法
	Start()
	Stop()
}

type Phone struct {
	name string
}
//让Phone 实现 Usb接口的方法
func (p Phone) Start() {
	fmt.Println("手机开始工作。。。")
}
func (p Phone) Stop() {
	fmt.Println("手机停止工作。。。")
}


type Camera struct {
	name string
}
//让Camera 实现   Usb接口的方法
func (c Camera) Start() {
	fmt.Println("相机开始工作。。。")
}
func (c Camera) Stop() {
	fmt.Println("相机停止工作。。。")
}


func main() {
	//定义一个Usb接口数组,可以存放Phone和Camera的结构体变量
	//这里就体现出多态数组
	//一个数组只能放一个数据类型,这里放了Phone类型,Camera类型
	var usbArr [3]Usb //数组存的是实现了usb结构体的变量
	usbArr[0] = Phone{"vivo"}
	usbArr[1] = Phone{"小米"}
	usbArr[2] = Camera{"尼康"}

	fmt.Println(usbArr)

}

 

Go多态

标签:数组   ace   com   个数   code   参数   size   usb   bar   

原文地址:https://www.cnblogs.com/yzg-14/p/12233699.html

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