Loading

Golang 接口多态的多种形式

一:多态参数

二:多态数组

package main
import "fmt"
type Usb interface{
    Start()
    Stop()
}

type Phone struct{
    name string
}

type Mp3 struct{
    name string
}

func(p Phone)Start(){
    fmt.Println("手机开始工作")
}

func(p Phone)Stop(){
    fmt.Println("手机停止工作")
}


func(m Mp3)Start(){
    fmt.Println("Mp3开始工作")
}

func(m Mp3)Stop(){
    fmt.Println("Mp3停止工作")
}


func main(){
    //定义一个接口数组 存放 Phone和Mp3的结构体变量  【已经体现了接口多态数组的特点】
    var usbArr [2]Usb
    usb[0] = Phone{"小米"}
    usb[1] = Mp3{"老式"}
    fmt.Println(usb)
}

 

posted @ 2024-10-09 17:46  Carver大脸猫  阅读(3)  评论(0)    收藏  举报