阅读量:0
在Golang中,接口定义的方式非常简单,只需要使用关键字type
和interface
即可。接口定义了一组方法的集合,任何类型只要实现了接口中的所有方法,就被认为是实现了该接口。
接口的定义方式如下:
type InterfaceName interface { Method1() returnType1 Method2() returnType2 // 可以定义多个方法 }
接口的实现也非常简单,只需要在类型上实现接口中的所有方法即可。例如,如果我们有一个接口Animal
和一个结构体Dog
,我们可以实现Animal
接口:
package main import ( "fmt" ) // 定义接口 type Animal interface { Speak() string } // 定义结构体 type Dog struct { Name string } // 实现接口方法 func (d Dog) Speak() string { return "Woof!" } func main() { // 创建一个Dog类型的变量 var myDog Animal myDog = Dog{Name: "Buddy"} // 调用接口方法 fmt.Println(myDog.Speak()) // 输出: Woof! }
在上面的例子中,我们定义了一个接口Animal
,其中有一个方法Speak()
,然后我们定义了一个结构体Dog
,并实现了Animal
接口中的Speak()
方法。最后,我们创建了一个Dog
类型的变量,并将其赋值给接口类型Animal
,然后调用了接口方法Speak()
。