我编写了一个惰性代码来演示我必须实现接口的问题。我有方法 M1、M2 以结构 X 作为参数并具有结构 Y 类型。我希望所有这些方法都由单个接口 I 实现。问题是实现接口的方法 M 我需要注意需要传递给子方法(M1,M2)的参数。我收到一个错误:<argument name> used as a value
当我在 M 中传递多个参数时
type Y struct {
a int
}
type X struct {
a int
}
(y *Y) func M1(x X) struct {
return y.a+x.a
}
(y *Y) func M2(x X) struct {
return y.a*x.a
}
type I interface {
M1(x X)
M2(x X)
}
func M(i I, x X) {
fmt.println(i.M1(x)) //returns an error i.M1(x) used as a value
fmt.println(i.M2(x)) //returns an error i.M2(x) used as a value
}