Golang 接口(多态补充2)

邦_ · · 363 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


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)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

363 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传