接口提供了一种实现多态性的方式,使得可以通过接口来编写通用的代码,而不依赖于具体的类型。
虽然Java和Go都有接口和多态的概念,但它们的实现和使用方式有所不同,。
优点:
案例
package main import "fmt" // 定义接口 type Shape interface { Area() float64 } // 定义结构体(类型)- 圆形 type Circle struct { Radius float64 } // 实现接口方法 - 圆形 func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius } // 定义结构体(类型)- 正方形 type Square struct { SideLength float64 } // 实现接口方法 - 正方形 func (s Square) Area() float64 { return s.SideLength * s.SideLength } func main() { // 创建一个 Circle 类型的变量 circle := Circle{Radius: 2.5} // 创建一个 Square 类型的变量 square := Square{SideLength: 3.0} // 使用接口类型的变量存储 Circle 类型的变量 var shape Shape shape = circle // 调用接口方法 area := shape.Area() fmt.Println("圆的面积是:", area) // 使用接口类型的变量存储 Square 类型的变量 shape = square // 调用接口方法 area = shape.Area() fmt.Println("正方形的面积是:", area) }
标签:Square,float64,Area,接口,shape,Circle From: https://www.cnblogs.com/mxleader/p/17903394.html