Go語言當中map數據類型的多維應用

字號+ 編輯: IT男在阿里 修訂: 种花家 來源: 利志分享 2023-09-10 我要說兩句(0)

本文以代碼方式表述Go語言map數據類型的多維應用寫法。

package main

import (  
    "encoding/json"  
    "fmt"  
)

func main() {  
    //组合二维等长map,生成等长json 例如:{"people1":{"name":"zengzhihai"},"people2":{"name":"liudehua"}}  
    //创建两个2位map,一个二维map,二维map只接受为map的值  
    var mapList1 = make(map[string]string)  
    var mapList2 = make(map[string]string)  
    var mapList12 = make(map[string]map[string]string)  
    mapList1["name"] = "zengzhihai"  
    mapList2["name"] = "liudehua"  
    //这里是二维map接受两个基本map的值  
    mapList12["people2"] = mapList2  
    mapList12["people1"] = mapList1  
    json12, _ := json.Marshal(mapList12)  
    fmt.Println(string(json12))

    //组合3维或者多维的map的json。例如:{"result":1,"data":{"list":[{"titltid":"807242","title":"屌丝男士-饿了吃肉"},{"titltid":"8073342","title":"屌丝男士-波多来了"}],"page":1,"limit":30,"count":1,"total":1}}
    //这里是一个非常复杂的例子,当然我们主要是讲如何使用map
    var mapTlist1 = make(map[string]string)
    mapTlist1 = map[string]string{"titltid": "807242", "title": "屌丝男士-饿了吃肉"}
    var mapTlist2 = make(map[string]string)
    mapTlist2 = map[string]string{"titltid": "8073342", "title": "屌丝男士-波多来了"}
    var mapTlist3 = make([]interface{}, 0)
    var mapTlist4 = make(map[string]interface{})
    var mapTlistLast = make(map[string]interface{})
    mapTlist3 = append(mapTlist3, mapTlist1)
    mapTlist3 = append(mapTlist3, mapTlist2)
    mapTlist4["page"] = 1
    mapTlist4["limit"] = 30
    mapTlist4["count"] = 1
    mapTlist4["total"] = 1
    mapTlist4["list"] = mapTlist3
    mapTlistLast["result"] = 1
    mapTlistLast["data"] = mapTlist4
    fmt.Println(mapTlistLast)
    jsonLast, _ := json.Marshal(mapTlistLast)
    fmt.Println(string(jsonLast))

}
閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: PHP+JS聊天群

相關課文
  • GO語言GORM如何更新字段

  • gorm如何創建記錄與模型定義需要注意什麽

  • gorm一般查詢與高級查詢

  • GORM時間戳跟蹤及CURD(增刪改查)

我要說說
網上賓友點評