在Go語言中,可以使用type
關鍵字來聲明一個接口。接口是一種抽象類型,它定義了一組方法的集合,但沒有具體的實現。接口的聲明語法如下:
type 接口名 interface {
方法名1(參數列表) 返回值列表
方法名2(參數列表) 返回值列表
// ...
}
例如,假設我們要聲明一個Animal
接口,它有一個Speak
方法:
type Animal interface {
Speak() string
}
這個接口表示可以發出聲音的動物。任何類型只要實現了Speak
方法,就可以被看作是Animal
接口的實現類型。接口的方法不需要顯式地實現,只要方法名、參數列表和返回值列表與接口定義一致即可。
下面是一個實現了Animal
接口的Cat
類型的例子:
type Cat struct{}
func (c Cat) Speak() string {
return "Meow!"
}
在這個例子中,Cat
類型實現了Animal
接口的Speak
方法,并返回了字符串"Meow!"
。
可以通過如下方式來使用接口:
func main() {
var animal Animal
animal = Cat{}
fmt.Println(animal.Speak()) // 輸出:"Meow!"
}
在main
函數中,我們定義了一個類型為Animal
的變量animal
,然后將一個Cat
類型的實例賦值給它。接著,我們調用了animal.Speak()
方法,輸出了"Meow!"
。