接口特性
(1)接口是一个或多个方法签名的集合
(2)只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示声明实现了哪个接口,称为Structural Typing
(3)接口只有方法声明没有实现,没有数据字段
接口实现的例子
package main
import "fmt"
type USB interface{
Name() string
Connect()
}
type PhoneConnector struct{
name string
}
func (pc PhoneConnector )Name()string{
return pc.name
}
func (pc PhoneConnector )Connect(){
fmt.Println("Connect:",pc.name)
}
func Disconnect(usb USB){
fmt.Println("Disconnected")
}
func main(){
a:=PhoneConnector{
"PhoneConnector"}//PhoneConnector achieves the USB so we can let