接口只支持方法, 实际使用场景有限, 在涉及属性计算时, 往往需要直接调用:
switch val:= inf.(type){
case A: fallthrough
case B: fallthrough
case C: fallthrough
case D: fallthrough
case E: val.sum = val.x+val.y+val.z
}
像这样直接转换类型, 我测试下性能有差.
有没有更好的方案? 若这般, 每个函数都用调用这无意义的switch, 只是为了转换类型.
类型还不能连写, case A,B,C这样会报错, 不明原因;
A-D全部是fallthrough;
接口和泛型有什么直接关系吗……
正常使用接口,不是就是明确我需要或者可能需要的方法有几个吗……
正常使用接口,本身就不该触及属性啊。
典型的用途,你可以看看最新1.16里的 fs.FS
#4
更多评论