golang Map

golang Map

/**
  golang map
  map的key必須是除了func類型,array,slice,map類型之外的類型
*/
package main

import (
    "fmt"
    "reflect"
)

var p = fmt.Println
var pf = fmt.Printf

func main() {
    m := make(map[string]string)
    v := reflect.ValueOf(m)
    p(v.Kind()) //map
    p(len(m))   //0

    var m0 map[string]string
    p(len(m0))   //0
    p(m0)        //map[]
    p(m0 == nil) //true

    m["xxb"] = "你好"
    m["xxc"] = "你也好"
    p(m) //map[xxb:你好 xxc:你也好]
    //遍歷
    for k, v := range m {
        pf("%s:%s\n", k, v)
    }

    m2 := map[string]string{}
    m2["k"] = "v"
    p(m2) //map[k:v]

    m3 := map[string]string{
        "k1": "v2",
        "k2": "v2", //注意這裏的"," 不要省了
    }
    p(m3) //map[k1:v2 k2:v2]

    m4 := map[string][]string{
        "k1": {"v1xx", "v1yy"},
        "k2": {"v2xx", "v2yy"},
    }
    p(m4) //map[k1:[v1xx v1yy] k2:[v2xx v2yy]]
    m5 := map[string][]string{
        "k1": []string{"v1xx", "v1yy"},
        "k2": []string{"v2xx", "v2yy"},
    }
    p(m5) //map[k1:[v1xx v1yy] k2:[v2xx v2yy]]

    //map的key必須是除了func類型,array,slice,map類型之外的類型
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章