博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang Tag
阅读量:6277 次
发布时间:2019-06-22

本文共 609 字,大约阅读时间需要 2 分钟。

hot3.png

Tag

理解

Golang中可以对struct定义Tag 例如:

type TestTag struct{     UserName string `json:"name"`     Age Int `json:"age"`}

json:"name"就是 UserName属性的tag。 我们可以在反射中获取Tag的内容。例如:

if ctx,ok := reflect.Typeof(TestTag{}).Elem().FieldByName("UserName");ok{         fmt.Println(ctx.Tag)    }

Tag不仅可以当成注释来使用,还可以有更多使用地方。

使用

在解析json的时候可以利用到Tag,例如:

str :=`{"name":"test","age":18}`    temp:= []byte(str)    jsonObj :=new(TestTag)    err :=json.Unmarshal(temp,&jsonObj)    if err!=nil{        fmt.Println(err)        return    }    fmt.Println(temp.UserName)

这可以通过tag的方式来进行对json解析。

转载于:https://my.oschina.net/johnhjwsosd/blog/1605979

你可能感兴趣的文章
内部类的作用
查看>>
CentOS 6.7安装在VMWare中Bridge模式下网卡eth0不能自动激活的问题
查看>>
iptables实现网络防火墙(一)
查看>>
SAVE
查看>>
MFC 导入EXCEL到数据库
查看>>
【ASP.NET 类库】当你懒得用 Json+Ajax 时,可以试试 AjaxPro
查看>>
使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
查看>>
【转】利用mybatis-generator自动生成代码
查看>>
架构师应该了解的知识1
查看>>
在Flex (Flash)中嵌入HTML 代码或页面—Flex IFrame
查看>>
防止Direct Input获取多次输入
查看>>
Interspeech 2017 | Self-adaptive Speech Recognition Technology
查看>>
Linux中MySQL数据库max_allowed_packet的调整
查看>>
MySQL 学习笔记 二
查看>>
Host prepare for your automation work
查看>>
Thinkphp中field和getField
查看>>
AngularJS之初级Route【一】(六)
查看>>
QTP的那些事--采用DOM,描述性编程获取指定的对象
查看>>
linux异步通信之epoll【转】
查看>>
前端自学路线之js篇
查看>>