首页 > 文章列表 > 将字符串转换为其对应的数据类型

将字符串转换为其对应的数据类型

381 2024-02-02
问题内容

我想根据字符串值动态创建类型实例。例如,给定以下内容:

type MyType struct {}

var input = "MyType"

var result = GetType(input)

我希望 reflect.TypeOf(result) == MyType 为 true。

我能想到的最好办法是使用 map[string]MyInterface{} 作为满足 MyInterface 的每种类型的查找,但这不是我想要的动态,因为它需要我用每个类型更新表我创建的新类型。 GetType(string) 内部是否有任何逻辑我可以使用它来更动态地执行此操作?


正确答案


在 Go 中,类型是在编译时静态定义的,您无法在运行时根据字符串值动态创建或更改类型。因此,使用内置类型系统无法直接实现您所要求的目标。