GO教程(12)接口



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()

}

空接口






最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。