new*_*cct 6

从语法上讲,类型断言在括号中采用类型,而不是表达式。因此,这是一个语法错误。

您似乎正在尝试使用在运行时计算出的值来进行类型声明。那有意义吗?让我们考虑一下什么是类型断言。

类型断言由两部分组成:

x.(T)TTxnil

第一部分显然对于在运行时计算的类型没有意义。结果表达式的编译时类型不能依赖于编译时未知的内容。

第二个(运行时检查)可以使用在运行时计算的类型来完成。就像是:

if reflect.TypeOf(x) != someTypeComputedAtRuntime {
    panic(42)
}