我正在尝试从其reflect.Type和值创建一个枚举实例
https://play.golang.org/p/PqklMe_Z4WX

有没有一种方法可以在golang中使用类型和可能的常量值创建enum实例?

最佳答案

使用reflect.New(t).Elem()获取值,并使用 SetString 设置值。

// t is the reflect.Type for a Weekday
t := reflect.TypeOf(WeekDay("sunday"))

// v is reflect.Value for a WeekDay, initialized to the zero value ""
v := reflect.New(t).Elem()

// Set the value of v to "sunday"
v.SetString("sunday")

https://play.golang.org/p/qvoVIN2Ro7x

关于go - 我如何在golang中反射(reflection)性地创建枚举实例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50690207/

10-17 01:30