基本上我想要一个具有// Always import AppOne either a blank string or app so that app.js doesnt change.
var appOne = import('appOne');
方法的接口,其声明声明它接收一个参数,以及方法的返回类型,但是将参数的返回类型保留到接收器
像这样的界面:
SetParams
现在,当type ParamsInterface interface {
SetParams(<someType>) ParamsInterface
}
实现它时,参数的类型为XStruct
XParams
但是当type XStruct struct {
params XParams
}
func (x *XStruct) SetParams(params *XParams) ParamsInterface {
x.params = params
return x
}
实现它时,参数的类型为YStruct
YParams
答案 0 :(得分:0)
这称为泛型,您只能使用空接口interface{}
和
铸造。
这是关于go中的泛型的文档:https://docs.google.com/document/d/1vrAy9gMpMoS3uaVphB32uVXX4pi-HnNjkMEgyAHX4N4/edit#。
这也可以帮到你:
How is the empty interface different than a generic?
本文介绍了一些没有泛型的方法:https://appliedgo.net/generics/
在这里你可以找到泛型的代码生成器(我认为这不是最好的主意)https://github.com/cheekybits/genny。