好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解Go開發Struct轉換成map兩種方式比較

詳解Go開發Struct轉換成map兩種方式比較

熱門標簽:惠州電銷防封電話卡 汕頭小型外呼系統 黃岡人工智能電銷機器人哪個好 阿里云ai電話機器人 濱州自動電銷機器人排名 建造者2地圖標注 浙江高頻外呼系統多少錢一個月 鄭州亮點科技用的什么外呼系統 釘釘有地圖標注功能嗎

最近做Go開發的時候接觸到了一個新的orm第三方框架gorose,在使用的過程中,發現沒有類似beego進行直接對struct結構進行操作的方法,有部分API是通過map進行數據庫相關操作,那么就需要我們把struct轉化成map,下面是是我嘗試兩種不同struct轉換成map的方法

mport (
  "encoding/json"
  "fmt"
  "reflect"
  "time"
)

type Persion struct {
  Id    int
  Name   string
  Address string
  Email  string
  School  string
  City   string
  Company string
  Age   int
  Sex   string
  Proviece string
  Com   string
  PostTo  string
  Buys   string
  Hos   string
}

func main() {
  StructToMapViaJson()
  //StructToMapViaReflect()
}

func StructToMapViaJson() {
  m := make(map[string]interface{})
  t := time.Now()
  person := Persion{
    Id:    98439,
    Name:   "zhaondifnei",
    Address: "大沙地",
    Email:  "dashdisnin@126.com",
    School:  "廣州第十五中學",
    City:   "zhongguoguanzhou",
    Company: "sndifneinsifnienisn",
    Age:   23,
    Sex:   "F",
    Proviece: "jianxi",
    Com:   "廣州蘭博基尼",
    PostTo:  "藍鯨XXXXXXXX",
    Buys:   "shensinfienisnfieni",
    Hos:   "zhonsndifneisnidnfie",
  }
  j, _ := json.Marshal(person)
  json.Unmarshal(j, m)
  fmt.Println(m)
  fmt.Println(time.Now().Sub(t))
}

一、通過struct轉json,json轉成map

func StructToMapViaJson() {
  m := make(map[string]interface{})
  t := time.Now()
  person := Persion{
    Id:    98439,
    Name:   "zhaondifnei",
    Address: "大沙地",
    Email:  "dashdisnin@126.com",
    School:  "廣州第十五中學",
    City:   "zhongguoguanzhou",
    Company: "sndifneinsifnienisn",
    Age:   23,
    Sex:   "F",
    Proviece: "jianxi",
    Com:   "廣州蘭博基尼",
    PostTo:  "藍鯨XXXXXXXX",
    Buys:   "shensinfienisnfieni",
    Hos:   "zhonsndifneisnidnfie",
  }
  j, _ := json.Marshal(person)
  json.Unmarshal(j, m)
  fmt.Println(m)
  fmt.Printf("duration:%d", time.Now().Sub(t))
}

output:
map[Proviece:jianxi Com:廣州蘭博基尼 Hos:zhonsndifneisnidnfie Name:zhaondifnei Company:sndifneinsifnienisn Buys:shensinfienisnfieni Age:23 PostTo:藍鯨XXXXXXXX Address:大沙地 School:廣州第十五中學 City:zhongguoguanzhou Sex:F Id:98439 Email:dashdisnin@126.com]
duration:250467

二、通過反射形式生成map

func StructToMapViaReflect() {
  m := make(map[string]interface{})
  t := time.Now()
  person := Persion{
    Id:    98439,
    Name:   "zhaondifnei",
    Address: "大沙地",
    Email:  "dashdisnin@126.com",
    School:  "廣州第十五中學",
    City:   "zhongguoguanzhou",
    Company: "sndifneinsifnienisn",
    Age:   23,
    Sex:   "F",
    Proviece: "jianxi",
    Com:   "廣州蘭博基尼",
    PostTo:  "藍鯨XXXXXXXX",
    Buys:   "shensinfienisnfieni",
    Hos:   "zhonsndifneisnidnfie",
  }
  elem := reflect.ValueOf(person).Elem()
  relType := elem.Type()
  for i := 0; i  relType.NumField(); i++ {
    m[relType.Field(i).Name] = elem.Field(i).Interface()
  }
  fmt.Println(m)
  fmt.Printf("duration:%d", time.Now().Sub(t))
}

output:
map[Buys:shensinfienisnfieni Name:zhaondifnei City:zhongguoguanzhou Sex:F Proviece:jianxi Com:廣州蘭博基尼 Id:98439 School:廣州第十五中學 Address:大沙地 Age:23 PostTo:藍鯨XXXXXXXX Hos:zhonsndifneisnidnfie Email:dashdisnin@126.com Company:sndifneinsifnienisn]
duration:104239

結論

通過比較可以看出,通過反射的形式轉換基本上是通過json形式轉換的兩倍。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • golang struct 實現 interface的方法
  • golang中struct和interface的基礎使用教程
  • 淺談Go語言中的結構體struct & 接口Interface & 反射
  • 詳解Angular之constructor和ngOnInit差異及適用場景
  • 詳解Angular 中 ngOnInit 和 constructor 使用場景
  • golang struct擴展函數參數命名警告解決方法
  • 解析Go語言編程中的struct結構
  • Golang學習筆記(六):struct
  • Go語言中struct的匿名屬性特征實例分析
  • Go語言struct類型介紹
  • Go語言struct類型詳解

標簽:滄州 晉中 泰安 駐馬店 阿壩 昭通 瀘州 東營

巨人網絡通訊聲明:本文標題《詳解Go開發Struct轉換成map兩種方式比較》,本文關鍵詞  詳解,開發,Struct,轉,換成,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Go開發Struct轉換成map兩種方式比較》相關的同類信息!
  • 本頁收集關于詳解Go開發Struct轉換成map兩種方式比較的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 古代高H禁伦肉欲文| 欧美日韩| 猛烈顶弄h禁欲军官| 欧美日韩亚洲视频| 6968.t∨直播| 久久久久精品国产三级蜜奴| 国产乱了真实在线观看| 九九九国产精品成人免费视频| 中文天堂在线视频| 亚洲精品一区23p| 日韩高清在线观看| 女人黄色电影| 一二三四影院在线观看视频| h文宫交灌尿| 精产国品一二三产区区别免费| 性视频小说| 特一级毛片| 国产又粗又猛又爽又黄的视频色戒| 女帝沦为军妓被扒开双腿玩弄| 舒淇大尺度电影三级在线观看| 爽好舒服好紧h公交车| 亚洲人成影院77777| 亚洲欧美自偷自拍另类视| 日韩19禁| 艹逼免费看| 国外一级片| 男同第一次做的详细经历| 亚洲男同gay视频| 国产亚洲欧美在线中文bt天堂 | 韩国三级电影网址| 亚洲精品国产美女高清写真图片| 黑人狂躁日本妞中文字幕| yy6080午夜精品人妻无码| 美女被爆羞羞网站app下载| 91探花国产综合在线精品| ova《夫人回复术》| 91一级毛片| 久久久久久久久久性| 日本综合欧美一区二区三区| 高清国产美女**毛片在线| 在线看黄网址|