没有…
好吧,答案是“是,但是”,但是很大。Go中没有结构名称的中央注册表。您不会得到一个很好的,干净的标准库函数
StructFromName(string),该函数可能正是您所希望的。
相反,您必须自己编写映射,例如
func StringToStruct(name string) (interface{}, error) { switch name { case "SomeStruct": return SomeStruct{}, nil case "SomeOtherStruct": return SomeOtherStruct{}, nil case "subpackage.Struct": return subpackage.Struct{}, nil default: return nil, fmt.Errorf("%s is not a known struct name", name) }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)