Go语言接口类型:接口的静态特性与动态特性 官网
在Go语言里,接口类型有静态和动态特性。静态特性指编译时就确定接口类型的方法集。比如定义一个接口: type Shape interface { Area() float64} 这里的Shape接口有一个Area方法,任何实现了该方法的类型都实现了Shape接口。动态特性是运行时接口变量可持有不同具体类型的值。 type Circle struct { Radius float64}func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius}func main() { var s Shape c := Circle{Radius: 5} s = c println(s.Area()) // 运行结果: 78.5} 要注意接口变量赋值时,具体类型必须实现接口的所有方法。