以下接口定义了一组方法,需要由“哞”声对象实现:
以下定义了一组由牧场对象实现的方法:
换句话说,只有同时符合这两个接口的参数才会被接受。
type Mooing interface {
Moo() string
}
以下定义了一组由牧场对象实现的方法:
type Grazing interface {
EatGrass()
}
我有一个操作奶牛的函数:
func Milk(cow *Cow)
不过,它不一定非得是一头牛--任何符合 Mooing
和 Grazing
的东西都可以。在 Go 语言中,是否可以指定一个参数为 Mooing and Grazing
?伪代码示例如下:
func Milk(cow {Mooing, Grazing})
换句话说,只有同时符合这两个接口的参数才会被接受。