学习笔记,写到哪是哪。
Go语言的接口和Java的接口有点类似,写法上不太一致。我个人感觉更像Java中父类中定义抽象方法类似,凡是集成父类都需要重新实现抽象方法。
样例代码如下
package main
import "fmt"
type Phone interface {
call(param int) string
info()
}
type IPhone struct {
name string
number string
}
func (iphone IPhone) call(param int) string {
return fmt.Sprintf("%d,%s", param, iphone.name)
}
func (iphone IPhone) info() {
fmt.Printf("我的手机信息为:name=%s,number=%sn", iphone.name, iphone.number)
}
func main() {
var phone Phone = IPhone{"haha", "1234"}
phone.info()
phone.call(12311111)
}
执行结果
我的手机信息为:name=haha,number=1234
注意
1、接口的实现方式是在func前面括号指定结构体类型参数。
2、上面的样例代码中首先定义了Phone接口有两个方法call、info,IPhone结构体实现两个方法。



