学习接口的时候有个2个小疑问
- 接口的方法是否能被部分实现?
- 实现部分接口方法的结构体是否能转化为该接口类型?
写了点代码测试,如下:
package main
import "fmt"
type Human struct {
age int8
gender int8
}
type Man interface {
GetAge() int8
GetGender() int8
}
func (human *Human) GetAge() int8 {
return human.age
}
func main(){
var humanS = Human {32, 1}
fmt.Printf("%d", humanS.GetAge())
var man Man
man = humanS
fmt.Printf("%d", man.GetGender())
}
结论:
1.接口可以被部分实现;
2.不能,编辑器的报错如下:
image.png
网友评论