Go 结构体Tag

package main

import (
   "fmt"
   "reflect"
)

type Foo struct {
   Id int `json:"id"`
   Name string `json:"name"`
}

func main(){
   foo:=&Foo{
      Id:1,
      Name:"aa",
   }
   //str:="name"
   t:=reflect.TypeOf(foo)
      

   fmt.Println(t.Elem().NumField())

   for i:=0;i<t.Elem().NumField();i++ {
      field := t.Elem().Field(i)
      fmt.Println(field.Tag.Get("json"))

   }





}
func info(i interface{}) {
   t := reflect.TypeOf(i)
   fmt.Println("Type: ", t.Name())
   v := reflect.ValueOf(i)
   fmt.Println("Fields: ")
   for i := 0; i < t.NumField(); i++ {
      f := t.Field(i)
      val := v.Field(i).Interface()
      fmt.Printf("%6s: %v = %v\n",f.Name,f.Type,val)
   }
}

http://www.01happy.com/golang-struct-tag-desc-and-get/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值