如何通过名称获取结构体的属性?

问题描述 投票:0回答:1

我有这个结构定义:

// Two columns, both strings.
type ExampleStructItem struct {
    Firstname string
    Surname string
}

我有这部分列名称:

columns := []string{"Firstname", "Surname"}

我本质上是试图循环遍历我的列名称片段,然后对相应的结构执行反射以获取有关属性的信息,例如它们的“种类”等。

go reflection
1个回答
2
投票

只需使用

Type.FieldByName()

var ex ExampleStructItem
t := reflect.TypeOf(ex)

for _, name := range columns {

    field, ok := t.FieldByName(name)
    if ok {
        k := field.Type.Kind()
    } else {
        // error handling
    }

}

游乐场


有用的阅读

© www.soinside.com 2019 - 2024. All rights reserved.