深入理解 Go 语言中的接口(interface)
接口是Go语言中一个重要概念,它是一种类型,只包含方法声明,而不包含实现。接口的实现是由实现接口的具体类型完成。
以下是一个简单的接口定义和实现的例子:
package main
import "fmt"
// 定义接口
type Animal interface {
Speak() string
}
// 定义两个结构体,实现了Animal接口
type Dog struct {
Name string
}
type Cat struct {
Name string
}
// Dog结构体实现了Animal接口的Speak方法
func (d Dog) Speak() string {
return "Woof!"
}
// Cat结构体实现了Animal接口的Speak方法
func (c Cat) Speak() string {
return "Meow!"
}
func main() {
// 创建Dog和Cat实例
dog := Dog{"Rex"}
cat := Cat{"Whiskers"}
// 调用实现了Animal接口的Speak方法
fmt.Println(dog.Speak()) // 输出: Woof!
fmt.Println(cat.Speak()) // 输出: Meow!
}
在这个例子中,我们定义了一个Animal
接口,它包含一个Speak
方法。然后我们定义了两个结构体Dog
和Cat
,它们分别实现了Animal
接口的Speak
方法。在main
函数中,我们创建了Dog
和Cat
的实例,并调用了它们的Speak
方法。这演示了如何在Go语言中定义和使用接口。
评论已关闭