Golang:动态地将接口​​转换为类型变量

时间:2015-01-15 19:55:35

标签: generics reflection casting go

在go中,是否有可能以某种方式动态转换变量?

例如,如果简单的演员阵容是:

var intAge  = interfaceAge.(int)

如果我不知道年龄是提前的int怎么办?一种简单的写作方式是

var x = getType()
var someTypeAge = interfaceAge(.x)

有没有办法实现这样的目标?反射包提供了一些在运行时确定或转换类型的方法 - 但是我找不到像上面提到的那样(一种适用于所有类型的通用方案)。

1 个答案:

答案 0 :(得分:7)

不,你不能。 Go是一种静态类型语言。变量的类型在编译时确定。

如果您想动态确定type的{​​{1}},可以使用type switching

interface{}
相关问题