Golang 中,可以使用接口和类型断言来实现多态函数。多个参数的多态函数可以通过将接口类型作为函数参数来实现。 下面是一个例子: ```go type Shape interface { area() float64 } type Rectangle struct { width float64 height float64 } type Circle struct { radius float64 } func (r Rectangle) area() float64 { return r.width * r.height } func (c Circle) area() float64 { return math.Pi * c.radius * c.radius } func getArea(s Shape) float64 { return s.area() } func main() { r := Rectangle{width: 5, height: 10} c := Circle{radius: 7.5} fmt.Println("Rectangle area:", getArea(r)) fmt.Println("Circle area:", getArea(c)) } ``` 在上述代码中,我们定义了一个 Shape 接口,它有一个 area 方法。然后我们定义了 Rectangle 和 Circle 两个类型,并给它们分别实现了 area 方法,这样它们就都实现了 Shape 接口。 接下来,我们定义了一个 getArea 函数,它接收一个 Shape 类型的参数,调用其 area 方法,并返回计算出的面积。 最后,在 main 函数中,我们创建了一个 Rectangle 和一个 Circle 实例,并分别调用 getArea 函数来计算它们的面积。 这样,我们就实现了一个多态函数,它可以接收不同类型的参数,并调用它们不同的方法。