接口只支持方法, 实际使用场景有限, 在涉及属性计算时, 往往需要直接调用:
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;
有疑问加站长微信联系(非本文作者)

定义一个外部变量暂存你说的那些值
大概率这是你设计思路的问题。
既然是接口,那当然应该是调用接口里定义的方法,而不该直接把接口转换回具体的类型。
本质问题就是: 没有泛型, 写接口有什么用? 每个地方都调用函数? 属性全部写get?
接口和泛型有什么直接关系吗……
正常使用接口,不是就是明确我需要或者可能需要的方法有几个吗……
正常使用接口,本身就不该触及属性啊。
典型的用途,你可以看看最新1.16里的 fs.FS