golang 定义接口
一、定义接口语法
type 接口名 interface { method1(参数列表) 返回值列表 method2(参数列表) 返回值列表 }
- 接口中所有方法都没有方法体
- 接口中不能包含任何变量
- golang中没有implements 关键字,因此不需要显示的去实现接口;在golang中只要一个变量,包含了接口类型的所有方法,那么这个变量就实现了这个接口。
二、案例
package main import ( "fmt" ) type Usb interface{ Connect() DisConnect() } type Phone struct{ } /* * Phone实现了Usb 接口(是指实现了Usb接口的所有方法) */ func(p Phone) Connect(){ fmt.Println("手机连接...") } func(p Phone) DisConnect(){ fmt.Println("手机断开连接...") } type Camera struct{ } func(c Camera) Connect(){ fmt.Println("相机连接...") } func(c Camera) DisConnect(){ fmt.Println("相机断开连接...") } type Computer struct{ } func(c Computer) Working(u Usb){ u.Connect() u.DisConnect() } func main(){ phone := Phone{} camera := Camera{} computer := Computer{} computer.Working(phone) computer.Working(camera) }
运行结果如下:
博客里大都是转载的内容,其目的主要用户知识的组织和管理。