golang接口入门
package main import "fmt" type Usb interface { Start() Stop() } //手机 type Phone struct { } //相机 type Camera struct { } //计算机 type Computer struct { } //手机实现USB接口方法 func (p Phone) Start() { fmt.Println("手机开始工作...") } func (p Phone) Stop() { fmt.Println("手机停止工作...") } //相机实现USB接口方法 func (c Camera) Start() { fmt.Println("相机开始工作...") } func (c Camera) Stop() { fmt.Println("相机停止工作...") } //编写一个方法Working,接收一个USB接口类型变量 //实现了USB接口的所有方法 func (c Computer) Working(usb Usb) { //通过usb接口变量调用start和stop方法 usb.Start() usb.Stop() } func main() { computer := Computer{} phone := Phone{} camera := Camera{} computer.Working(phone) computer.Working(camera) }