Как я могу рефлексивно создать экземпляр enum в golang? - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь создать экземпляр enum из его рефлекса. Тип и значение https://play.golang.org/p/PqklMe_Z4WX

Есть ли способ создать экземпляр enum в golang с его типом и возможным значением константы?

1 Ответ

0 голосов
/ 05 июня 2018

Используйте 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...