登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-04 19:51:47 363浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何通过名称获取结构体的属性?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我有这个结构定义:

// 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

今天关于《如何通过名称获取结构体的属性?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>