package main
import "fmt"
/**
* 定义接口
* type interface_name interface{
* method_name1 [return_type]
* method_name2 [return_type]
* ...
* method_namen [return_type]
* }
* 定义结构体
* type struct_name struct{
*
* }
*
* 实现接口方式
* func (struct_name_variable struct_name) method_name1() [return_type]{
* 方法实现
* }
* func (struct_name_variable struct_name) method_namen() [return_type]{
* 方法实现
* }
*/
func main(){
//声明接口
var phone Phone
//添加结构体
phone = new(NokiaPhone)
//执行方式
phone.call()
//添加结构体
phone = new(IPhone)
//执行方式
phone.call()
}
//手机接口
type Phone interface {
call()
}
//结构体1
type NokiaPhone struct{}
//结构体2
type IPhone struct{}
//实现接口方式
func (nokiaPhone NokiaPhone) call(){
fmt.Println("I am Nokia,I can call you")
}
func (iPhone IPhone) call(){
fmt.Println("I am iphone,I can call you")
}
输出
I am Nokia,I can call you
I am iphone,I can call you