如何通过名称获取struct的属性?

I have this struct definition :

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

and I have this slice of column names :

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

and I am essentially trying to loop through my slice of column names, and then perform reflection on the corresponding struct to get information about the properties, such as their "Kind" etc.

Just use 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
    }

}

Playground