在Go語言中,接口是一種抽象的類型,通過定義一組方法的集合來描述對象的行為。可以通過以下步驟來實現和使用接口:
type
定義一個接口,并在接口中定義一組方法的簽名,不包含具體的實現代碼。例如:type Shape interface {
Area() float64
Perimeter() float64
}
type Circle struct {
Radius float64
}
func (c Circle) Area() float64 {
return math.Pi * c.Radius * c.Radius
}
func (c Circle) Perimeter() float64 {
return 2 * math.Pi * c.Radius
}
func getShapeInfo(s Shape) {
fmt.Println("Area:", s.Area())
fmt.Println("Perimeter:", s.Perimeter())
}
func main() {
c := Circle{Radius: 5}
getShapeInfo(c)
}
在上面的例子中,Circle
類型實現了Shape
接口中定義的Area
和Perimeter
方法,然后我們將Circle
類型的實例賦值給Shape
類型的變量并調用getShapeInfo
函數,輸出了圓的面積和周長。