【发布时间】:2014-03-22 19:53:26
【问题描述】:
给定:
type MyInterface interface{
MyMethod() int
}
var im MyInterface
...
如果我打电话:
switch t := im.(type) {
case:....
default:...
}
变量t在声明时的实际类型是什么?为了说明问题:如果我想写
var t //What type should I use?!
如何声明t?
例如在 Delphi 中我们有这样的结构:
TTypeInfo = record
Kind: TTypeKind;
Name: string;
{TypeData: TTypeData}
end;
我相信我正在 GoLang 中寻找类似于 TTypeKind 的东西,它具有潜在的价值,例如 tkInteger、tkString 等。
在 C++ 中,我们找到了 type_info 类类型,它也提供了一些此类功能。
t 在var t... 声明中使用什么类型?这甚至可能吗?
【问题讨论】:
标签: types go type-switch