接口的要点是您可以进行
ShowMeTheCircumference如下所示的通用功能。
package mainimport ( "fmt" "math")type Circer interface { Circ() float64}type Square struct { side float64}type Circle struct { diam, rad float64}func (s *Square) Circ() float64 { return s.side * 4}func (c *Circle) Circ() float64 { return c.diam * math.Pi}func ShowMeTheCircumference(name string, shape Circer) { fmt.Printf("Circumference of %s is %fn", name, shape.Circ())}func main() { square := &Square{side: 2} circle := &Circle{diam: 10} ShowMeTheCircumference("square", square) ShowMeTheCircumference("circle", circle)}游乐场链接



