偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何通过名称获取结构体的属性?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!
问题内容我有这个结构定义:
// two columns, both strings.
type examplestructitem struct {
firstname string
surname string
}
我有这部分列名称:
columns := []string{"Firstname", "Surname"}
我本质上是试图循环遍历我的列名称片段,然后对相应的结构执行反射以获取有关属性的信息,例如它们的“种类”等。
解决方案
只需使用 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
今天关于《如何通过名称获取结构体的属性?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!