In go,是否有可能以某种方式动态地转换变量?Golang:动态地将一个接口转换为一个类型变量
例如,如果一个简单的铸件是:
var intAge = interfaceAge.(int)
,如果我不知道那是什么年龄提前一个int?一个简单的方式写它将是
var x = getType()
var someTypeAge = interfaceAge(.x)
有没有办法实现这样的事情?反射包给出了一些在运行时确定或者转换类型的方法 - 但是我找不到像上面提到的那样的东西(一种适用于所有类型的通用方案)。
有没有在去没有“铸造”。请参见[type switch](http://golang.org/doc/effective_go.html#type_switch) – JimB
什么时候你不知道“x”是什么类型? Go是一种静态类型的语言。编译时总是知道变量的类型。尽管一个变量的类型可能是一个接口类型。 – fuz
您正在寻找一种类型开关,可以根据(静态)类型列表来确定您的行为。几乎肯定有一种方法可以处理你所希望的任何事情,你能详细说明你正在尝试的是什么吗? – Crisfole