在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
go中的map是hash表的一个引用,类型写为:map[key]value,其中的key, value分别对应一种数据类型,如map[string]string
1.map初始化 package main import "fmt" func main() { //初始化 var m1 = make(map[interface{}]interface{}) m1["1"] = "c" m1["c1"] = 1 fmt.Println(m1) // m0 string var m0 map[string]string // 定义map类型变量m0,key的类型为string,value的类型string fmt.Println(m0) // 输出: map[] // m2 interface{} var m2 map[interface{}]string m2 = make(map[interface{}]string) //m1[[]byte("k2")]="v2" // panic: runtime error: hash of unhashable type []uint8 m2[123] = "123" m2[12.3] = "123" fmt.Println(m2) // map[123:123 12.3:123] // m3 数组 a3 := [3]int{1, 2, 3} var m3 map[[3]int]string m3 = make(map[[3]int]string) m3[a3] = "m2" fmt.Println(m3) // map[[1 2 3]:m2] // m4 可以,book1里面的元素都是支持== != struct type book1 struct { name string } var m4 map[book1]string fmt.Println(m4) // 输出: map[] }
2.map查找 v,ok :=m5["a"] //ok为bool值 if ok { fmt.Println(v) }
3.增加,修改 //增加修改 m6 := map[string]string{ "a": "va", "b": "vb", } m6["c"] = "11" //若key存在则是修改,不在则是增加 fmt.Println(m6)
4.删除
m7 := map[string]string{ "a": "va", "b": "vb", } delete(m7, "x") // 删除不存在的key,原m不影响 delete(m7, "a") // 删除存在的key fmt.Println(m7)
5.遍历元素 m8 := map[string]string{ "a": "va", "b": "vb", } for k, v := range m8 { fmt.Printf("k:[%v].v:[%v]\n", k, v) // 输出k,v值 }
6.获取字典个数 //获取个数 m9 := map[string]string{ "a": "va", "b": "vb", } fmt.Println(len(m9))
|
请发表评论