GO语言interface

本文探讨了Go语言中接口的特性,包括接口作为方法签名集合、 Structural Typing(无需显式声明实现接口)、无数据字段以及接口实现的示例。还介绍了嵌入接口、上帝接口(所有类型都实现)和空接口的概念,以及接口之间的转换,如USB和Connector类型的转换。
摘要由CSDN通过智能技术生成

接口特性
(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值