package main
import (
"fmt"
"math"
)
type Rect struct {
width float64
height float64
}
type Circle struct {
radius float64
}
func (r Rect) Area() float64 {
return r.width * r.height
}
func (c Circle) Area() float64 {
return math.Pi * c.radius * c.radius
}
func main() {
rect := Rect{5.0, 4.0}
cir := Circle{5.0}
fmt.Printf("Area of rectangle rect = %0.2f\n", rect.Area())
fmt.Printf("Area of circle cir = %0.2f\n", cir.Area())
}
这个结构的基本常见示例。但我的问题是如何在多个时运行具有相同名称的 struct 方法。
在此示例中,有 2 个结构。但是如果有 50 个结构(Circle, Rect, Foo, Bar ....)并且它们都有一个同名的方法(Area)。我如何在一个循环中同时动态地运行这些方法?
也许我需要一个接口。我不知道。
临摹微笑
慕尼黑8549860
相关分类