new*_*cct 6
从语法上讲,类型断言在括号中采用类型,而不是表达式。因此,这是一个语法错误。
您似乎正在尝试使用在运行时计算出的值来进行类型声明。那有意义吗?让我们考虑一下什么是类型断言。
类型断言由两部分组成:
x.(T)TTxnil
第一部分显然对于在运行时计算的类型没有意义。结果表达式的编译时类型不能依赖于编译时未知的内容。
第二个(运行时检查)可以使用在运行时计算的类型来完成。就像是:
if reflect.TypeOf(x) != someTypeComputedAtRuntime {
panic(42)
}