我想问下关于interface 的问题
Go 的实现类是不是不会强制 实现类 实现 接口中的所有方法?
可以看到 我下面的方法 GoPragrammer 中只实现了 Programmer 中的writeCode 方法, 并没有实现 studyCode,
但是GoProgrammer 中这个类是没有报错, 是可以继续执行的.
1. 那么我的理解就是GoPragrammer 中并不属于 Programmer的实现类 只有当GoPragrammer 实现了 studyCode 的时候 才算 实现类
那么问题来了, 那go的接口意义在哪? 反正没有强制实现,那自己的类完全可以自己玩啊.
```
type Code struct {
code string
}
//定义一个接口
type Programmer interface {
//定义接口的方法
writeCode() Code
studyCode() Code
}
type GoPragrammer struct {
}
func (p *GoPragrammer) writeCode() Code {
code := Code{
code: "Go",
}
return code
}
func TestInterface(t *testing.T) {
goPragrammer := new(GoPragrammer)
t.Log(goPragrammer.writeCode().code)
}
```
有疑问加站长微信联系(非本文作者)