分享
  1. 首页
  2. 文章

GoLang获取struct的tag

chuanheng · · 37471 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

GoLang获取struct的tag内容;beego的ORM中也通过tag来定义参数的。

获取tag的内容是利用反射包来实现的。示例代码能清楚的看懂!

 1 package main
 2 import (
 3 "fmt"
 4 "reflect" // 这里引入reflect模块
 5 )
 6 type User struct {
 7 Name string "user name" //这引号里面的就是tag
 8 Passwd string "user passsword"
 9 }
10 func main() {
11 user := &User{"chronos", "pass"}
12 s := reflect.TypeOf(user).Elem() //通过反射获取type定义
13 for i := 0; i < s.NumField(); i++ {
14 fmt.Println(s.Field(i).Tag) //将tag输出出来
15  }
16 }

Golang.org中reflect的示例代码

 1 package main
 2 
 3 import (
 4 "fmt"
 5 "reflect"
 6 )
 7 
 8 func main() {
 9 type S struct {
10 F string `species:"gopher" color:"blue"`
11  }
12 
13 s := S{}
14 st := reflect.TypeOf(s)
15 field := st.Field(0)
16 fmt.Println(field.Tag.Get("color"), field.Tag.Get("species"))
17 
18 }

有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:chuanheng

查看原文:GoLang获取struct的tag

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
37471 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏