怎么在golang将结构转换成地图

  介绍

本文章向大家介绍怎么在golang将结构转换成地图,主要包括怎么在golang将结构转换成地图的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么是golang

golang是谷歌开发的一种静态强类型,编译型,并发型,并具有垃圾回收功能的编程语言,其语法与C语言相近,但并不包括如枚举,异常处理,继承,泛型、断言,虚函数等功能。

mport  (   “编码/json"才能   “才能fmt"   “才能reflect"   “才能time"   )      type  Persion  struct  {   Id 才能,,,int   ,,Name 字符串   Address 才能;字符串   Email 才能;字符串   School 才能;字符串   ,,City 字符串   Company 才能;字符串   Age 才能,int   ,,Sex 字符串   Proviece 才能;字符串   ,,Com 字符串   PostTo 才能;字符串   ,,Buys 字符串   ,,Hos 字符串   }      func  main (), {   StructToMapViaJson才能()//StructToMapViaReflect才能()   }      func  StructToMapViaJson (), {   m 才能:=,(map [string]接口{})   t 才能;:=,time.Now ()   person 才能;:=,波斯{   ,,,,,,,,,98439   ,,,的名字:,,,“zhaondifnei",   ,,,地址:,“大沙地“,   ,,,电子邮件:,,“dashdisnin@126.com",,   学校:,,,,,“广州第十五中学“,   城市,,,,,,,“zhongguoguanzhou",   ,,,公司:,“sndifneinsifnienisn",   ,,,年龄:,,,23岁,   性:,,,,,,“F",   ,,,Proviece:,“jianxi"   ,,,Com:,,,“广州兰博基尼“,   ,,,PostTo:,,“蓝鲸XXXXXXXX",   ,,,购买:,,,“shensinfienisnfieni",   ,,,居屋计划:,,,“zhonsndifneisnidnfie",   ,,}   ,,j, _ :=, json.Marshal(人)   json.Unmarshal才能(,,,)   fmt.Println才能(m)   fmt.Println才能(time.Now () .Sub (t))   }

<强>一、通过struct转json, json转成地图

func  StructToMapViaJson (), {   m 才能:=,(map [string]接口{})   t 才能;:=,time.Now ()   person 才能;:=,波斯{   ,,,,,,,,,98439   ,,,的名字:,,,“zhaondifnei",   ,,,地址:,“大沙地“,   ,,,电子邮件:,,“dashdisnin@126.com",,   学校:,,,,,“广州第十五中学“,   城市,,,,,,,“zhongguoguanzhou",   ,,,公司:,“sndifneinsifnienisn",   ,,,年龄:,,,23岁,   性:,,,,,,“F",   ,,,Proviece:,“jianxi"   ,,,Com:,,,“广州兰博基尼“,   ,,,PostTo:,,“蓝鲸XXXXXXXX",   ,,,购买:,,,“shensinfienisnfieni",   ,,,居屋计划:,,,“zhonsndifneisnidnfie",   ,,}   ,,j, _ :=, json.Marshal(人)   json.Unmarshal才能(,,,)   fmt.Println才能(m)   fmt.Printf才能(“期限:% d",, time.Now () .Sub (t))   }

输出:
地图(Proviece:赣Com:广州兰博基尼居屋计划:zhonsndifneisnidnfie名称:zhaondifnei公司:sndifneinsifnienisn购买:shensinfienisnfieni年龄:23 PostTo:蓝鲸XXXXXXXX地址:大沙地学校:广州第十五中学城市:zhongguoguanzhou性:F Id: 98439电子邮件:dashdisnin@126.com)
时间:250467年

<强>二,通过反射形式生成地图

func  StructToMapViaReflect (), {   m 才能:=,(map [string]接口{})   t 才能;:=,time.Now ()   person 才能;:=,波斯{   ,,,,,,,,,98439   ,,,的名字:,,,“zhaondifnei",   ,,,地址:,“大沙地“,   ,,,电子邮件:,,“dashdisnin@126.com",,   学校:,,,,,“广州第十五中学“,   城市,,,,,,,“zhongguoguanzhou",   ,,,公司:,“sndifneinsifnienisn",   ,,,年龄:,,,23岁,   性:,,,,,,“F",   ,,,Proviece:,“jianxi"   ,,,Com:,,,“广州兰博基尼“,   null   null   null   null   null   null   null   null   null   null   null   null

怎么在golang将结构转换成地图