一 接口的引入
usb 插槽就是现实中的接口。
可以把手机、相机、u盘都插在 usb 插槽上,而不同担心哪个插槽是专门插哪个的,原因是做 usb 插槽的厂家和各种设备的厂家都遵守了统一的规定,包括尺寸,排线等等。
二 接口的快速入门
1 要求
用代码实现上面的 usb 插槽场景。
2 代码
package main
import (
"fmt"
)
// 声明/定义一个接口
type Usb interface {
// 声明了两个没有实现的方法
Start()
Stop()
}
// 声明/定义一个接口
type Usb2 interface {
// 声明了两个没有实现的方法
Start()
Stop()
Test()
}
type Phone struct {
}
// 让 Phone 实现 Usb 接口的方法
func (p Phone) Start() {
fmt.Println("手机开始工作")
}
func (p Phone) Stop() {
fmt.Println("手机停止工作")
}
type Camera struct {
}
// 让 Camera 实现 Usb接口的方法
func (c Camera) Start() {
fmt.Println("相机开始工作")
}
func (c Camera) Stop() {
fmt.Println("相机停止工作")
}
// 计算机
type Computer struct {
}
// 编写一个方法 Working 方法,接收一个 Usb 接口类型变量
// 只