golang多态编程
时间: 2023-11-15 14:04:52 浏览: 232
这是一个涵盖计算机科学知识领域的Golang教程,该教程用于帮助零基础的学习者快速掌握Golang编程
在 Golang 中,多态是通过接口实现的。一个类型只要实现了某个接口中定义的所有方法,就可以被看作是该接口类型的实例。这种方式实现的多态性被称为接口多态。
举个例子,假设我们有一个接口 Animal,其中定义了一个方法 Speak()。我们可以定义多个类型,比如 Dog、Cat 等,它们都实现了 Animal 接口中的 Speak() 方法。这样,我们就可以将它们看作是 Animal 类型的实例,从而实现多态。
下面是一个简单的示例代码:
```
type Animal interface {
Speak() string
}
type Dog struct {}
func (d Dog) Speak() string {
return "Woof!"
}
type Cat struct {}
func (c Cat) Speak() string {
return "Meow!"
}
func main() {
animals := []Animal{Dog{}, Cat{}}
for _, animal := range animals {
fmt.Println(animal.Speak())
}
}
```
输出结果为:
```
Woof!
Meow!
```
在上面的代码中,我们定义了 Animal 接口和两个类型 Dog 和 Cat,它们都实现了 Animal 接口中的 Speak() 方法。在 main 函数中,我们创建了一个 Animal 类型的切片,并将 Dog 和 Cat 的实例添加到其中。然后,我们遍历这个切片,并调用每个实例的 Speak() 方法。
阅读全文