package main
import "fmt"
func main() {
//接口调用的方法
m1 := Mouse{"xiaohong"}
fmt.Println(m1.name)
f1 := FlashDisk{"flash64"}
fmt.Println(f1.name)
testInterface(m1)
testInterface(f1)
var usb USB //定义usb类型的接口
usb = f1
usb.start()
usb.end()
f1.deleteDate() //f1接收对象delete的方法,多态
var arr [3]USB //定义arr数组
arr[0] = m1
arr[1] = f1
fmt.Println(arr)
}
type USB interface {
start()
end()
}
type Mouse struct {
name string
}
type FlashDisk struct {
name string
}
func (m Mouse) start() {
fmt.Println(m.name, "鼠标点dian ")
}
func (m Mouse) end() {
fmt.Println(m.name, "over jobs")
}
func (f FlashDisk) start() {
fmt.Println(f.name, "准备工作")
}
func (f FlashDisk) end() {
fmt.Println(f.name, "over game")
}
func (f FlashDisk) deleteDate() {
fmt.Println(f.name, "删出数据")
}
func testInterface(usb USB) {
usb.start()
usb.end()
}