美文网首页
Golang 接口(多态补充2)

Golang 接口(多态补充2)

作者: 邦_ | 来源:发表于2020-10-22 15:32 被阅读0次
    
    package main
    
    import (
        "fmt"
    )
    
    //空接口: 也是一个接口,但是该接口中没有任何的方法
    //所以可以将任意类型作为该接口的实现
    
    type A interface {
    }
    
    //1.定义一个接口
    type USB interface {
        start()
        end()
    }
    
    //2.实现类
    type Mouse struct {
        name string
    }
    
    func (m Mouse) start(){
        fmt.Println("开始方法")
    }
    
    func (m Mouse) end(){
        fmt.Println("结束方法")
    }
    
    type FlashDisk struct {
        name string
    }
    func (f FlashDisk) start(){
        fmt.Println("开始方法,可以进行数据存储")
    }
    
    func (f FlashDisk) end(){
        fmt.Println("结束数据存储")
    }
    
    //空接口:理解为代表了任意类型
    func test5(a A)  {
    
    }
    //将匿名空接口作为参数:表示该函数可以接受任意类型的数据
    func test6(a interface{})  {
    
    }
    
    
    func main()  {
    
        var u1 USB//定义接口类型的变量
        u1 = Mouse{"鼠标"}  //创建实现类对象
        u1.start()
        fmt.Println(u1)
    
        var u2 USB
        u2 = FlashDisk{"闪存"}
        fmt.Println(u2)
    
    }
    
    
    

    相关文章

      网友评论

          本文标题:Golang 接口(多态补充2)

          本文链接:https://www.haomeiwen.com/subject/dwxemktx.html