接口与结构体接口声明接口的嵌套接口与结构体01
目录类型断言04
01接口声明•接口定义•接口特点•接口格式•空接口•error接口•接口是对类型行为的约定•接口是一系列方法的集合•接口是一种高度抽象的数据类型•接口中的方法不包含代码•接口中的方法是抽象的•接口中不包含变量•本质是一种关于对象功能的约定接口的定义•接口是双方约定的一种合作协议,接口实现者不需要关心接口会怎样被使用,只需要实现接口里面所有的方法即可•接口不支持直接实例化,只能通过具体的类来实现声明的所有方法,同时函数的函数名、函数参数和函数返回值必须完全一样•Go语言中的接口支持赋值操作,从而快速实现接口与实现类的映射接口的特点1接口声明type接口类型名interface{方法名1(参数列表1)返回值列表1方法名2(参数列表2)返回值列表2
}标准格式声明接口•接口类型名:使用type将接口定义为自定义的类型名,接口在命名时,一般会在单词后面添加er;•方法名:当方法名首字母是大写时,同时接口类型名首字母也是大写时,这个方法可以被接口所在的包(package)之外的代码访问;•参数列表:表示传入到方法中的值;•返回值列表:方法返回值
typePhoneinterface{call()SendMsg(msgstring)bool}语法要点1接口声明type接口类型名interface{方法名1(参数列表1)返回值列表1方法名2(参数列表2)返回值列表2
}type(变量名类型)方法名1(参数列表1)返回值列表1{}type(变量名类型)方法名2(参数列表2)返回值列表2{}标准格式接口的实现//标准格式接口的实现案列typeAndroidPhonestruct{}func(aAndroidPhone)call(){fmt
Println("AndroidPhonecalling