我刚接触golang,不太明白为什么下面的demo程序可以执行成功,
type fake interface {
getAge(valueInt int, valStr string) (age int, name string, err error)
}
type Foo struct {
name string
}
func (b *Foo) getAge(valueInt int, valStr string) (age int, retErr error) {
age = valueInt
return age, nil
}
func main() {
inst := &Foo{name:"foo"}
value, _ := inst.getAge(2, "foo")
fmt.Println(value)
}
接口要返回三个值,但方法getAge只返回两个,但它仍然有效。如何理解 golang 中的这种行为?
谢谢!
波斯汪
相关分类