package main
import (
"fmt"
)
// 定义接口
type Shape interface {
Area() float64
}
// 定义矩形类型
type Rectangle struct {
Width float64
Height float64
}
// 矩形类型实现 Shape 接口
func (r Rectangle) Area() float64 {//这里是定义了一个名为 Area 的方法,该方法是针对 Rectangle 结构体的.是和这个相关联的
return r.Width * r.Height//具体实现
}
func main() {
// 创建一个矩形
r := Rectangle{Width: 3, Height: 4}//结构体初始化
// 使用接口进行面积计算
var shape Shape//接口类型的变量.接口类型的变量可以持有任何实现了该接口的具体类型的对象。
shape = r//因为Rectangle结构体实现了接口Shape的Area方法.
fmt.Println("Area:", shape.Area())
}