2013-08-28 3 views

ответ

4

Это может быть сделано с помощью отражения (через reflect пакет):

instance := struct{Foo string; Bar int }{"foo", 2} 

v := reflect.ValueOf(instance) 

names := make([]string, 0, v.NumField()) 

v.FieldByNameFunc(func(fieldName string) bool{ 
    names = append(names, fieldName) 
    return false 
}) 

Живой пример на play.

Смежные вопросы