zoukankan      html  css  js  c++  java
  • Go

    概述

    Map 集合是无序的 key-value 数据结构。

    Map 集合中的 key / value 可以是任意类型,但所有的 key 必须属于同一数据类型,所有的 value 必须属于同一数据类型,key 和 value 的数据类型可以不相同。
    声明 Map

     

       //demo_14.go    
        package main    
        import (    
            "fmt"    
        )    
        func main() {    
            var p1 map[int]string    
            p1 = make(map[int]string)    
            p1[1] = "Tom"    
            fmt.Println("p1 :", p1)    
            var p2 map[int]string = map[int]string{}    
            p2[1] = "Tom"    
            fmt.Println("p2 :", p2)    
            var p3 map[int]string = make(map[int]string)    
            p3[1] = "Tom"    
            fmt.Println("p3 :", p3)    
            p4 := map[int]string{}    
            p4[1] = "Tom"    
            fmt.Println("p4 :", p4)    
            p5 := make(map[int]string)    
            p5[1] = "Tom"    
            fmt.Println("p5 :", p5)    
            p6 := map[int]string{    
                1 : "Tom",    
            }    
            fmt.Println("p6 :", p6)    
        }
    


    运行结果:

    生成 JSON

     

      //demo_15.go    
        package main    
        import (    
            "encoding/json"    
            "fmt"    
        )    
        func main() {    
            res := make(map[string]interface{})    
            res["code"] = 200    
            res["msg"]  = "success"    
            res["data"] = map[string]interface{}{    
                "username" : "Tom",    
                "age"      : "30",    
                "hobby"    : []string{"读书","爬山"},    
            }    
            fmt.Println("map data :", res)    
            //序列化    
            jsons, errs := json.Marshal(res)    
            if errs != nil {    
                fmt.Println("json marshal error:", errs)    
            }    
            fmt.Println("")    
            fmt.Println("--- map to json ---")    
            fmt.Println("json data :", string(jsons))    
            //反序列化    
            res2 := make(map[string]interface{})    
            errs = json.Unmarshal([]byte(jsons), &res2)    
            if errs != nil {    
                fmt.Println("json marshal error:", errs)    
            }    
            fmt.Println("")    
            fmt.Println("--- json to map ---")    
            fmt.Println("map data :", res2)    
        }
    


    运行结果:

    编辑和删除

     

      //demo_16.go    
        package main    
        import (    
            "fmt"    
        )    
        func main() {    
            person := map[int]string{    
                1 : "Tom",    
                2 : "Aaron",    
                3 : "John",    
            }    
            fmt.Println("data :",person)    
            delete(person, 2)    
            fmt.Println("data :",person)    
            person[2] = "Jack"    
            person[3] = "Kevin"    
            fmt.Println("data :",person)    
        }
    


    运行结果:



  • 相关阅读:
    ubuntu上如何安装和卸载google chrome 浏览器
    另眼相看“那些争议最大的编程观点”
    读完了csapp(中文名:深入理解计算机系统)
    SSL工作原理
    linux signal 处理
    PCB设计资料:看到最后才知道是福利
    String.Format使用方法
    matlab三维画图
    spin_lock & mutex_lock的差别?
    Hibernate Criterion
  • 原文地址:https://www.cnblogs.com/it-3327/p/11870074.html
Copyright © 2011-2022 走看看