golang基础-结构体tag、匿名字段

golang基础-结构体tag、匿名字段,第1张

概述struct中的tag 我们可以为struct中的每个字段,写上一个tag。这个tag可以通过反射的 机制获取到,最常用的场景就是json序列化和反序列化 package mainimport "fmt"import "encoding/json"type student struct { Name string `json:"stu_name"` Age int} struct中的tag

我们可以为struct中的每个字段,写上一个tag。这个tag可以通过反射的
机制获取到,最常用的场景就是Json序列化和反序列化

package mainimport "fmt"import "enCoding/Json"type student struct {    name string `Json:"stu_name"`    Age int}func main() {    var stu student = student{        name:"safly",Age:10,}    data,err := Json.Marshal(stu)    if err != nil{        fmt.Println("Json encode stu Failed",err)        return    }    fmt.Println(string(data))}

输出如下:

PS E:\golang\go_pro\src\safly> go run demo.go{"stu_name":"safly","Age":10}PS E:\golang\go_pro\src\safly>
匿名字段
package mainimport (    "fmt")type student struct {    name string     age int}type stu struct{    student    int}func main() {    var stu1 stu    stu1.name = "saly"    stu1.age =10    stu1.int = 100    fmt.Println(stu1)    fmt.Println("---------------------")    var stu2 stu    stu2.name = "salyyy"    stu2.age =100    stu2.int = 1000    //都设置age name时候,就看自己的    stu2.student.name = "ss"    stu2.student.age = 11    fmt.Println(stu2)}

输出如下:

PS E:\golang\go_pro\src\safly> go run demo.go {{saly 10} 100} --------------------- {{ss 11} 1000} PS E:\golang\go_pro\src\safly>
总结

以上是内存溢出为你收集整理的golang基础-结构体tag、匿名字段全部内容,希望文章能够帮你解决golang基础-结构体tag、匿名字段所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274080.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存