内建容器 - map
基础
和python的dict一样是无序的
map使用hash表实现,所以key类型必须可以比较相等
除了slice map function 的内建类型都可以作为key
Struct 不包括上面的类型就可以作为key1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28//make(map[kType]vType)
m := make(map[string]string)// m == empty map
fmt.Println(m)//map[]
m1 := map[string]string{
"name":"svz",
"language":"go",//,不能省略,或者把}提到这里
}
fmt.Println(m1)//map[name:svz]
var m2 map[string]string // m2 == nil
//访问
fmt.Println(m1["name"])//svz
//如果访问的key不存在返回的是zeroValue
fmt.Println(m1["names"])//打印的是空串""
//可以通过接受ok值判断是否有这个key
name, ok := m1["name"]//svz true
fmt.Println(name, ok)
names, ok := m1["names"]// false 注意前面有个空串""
fmt.Println(names, ok)
//遍历 同样可以用 _ 忽略
for k, v := range m1{
fmt.Println(k, v)
}
/*
name svz
language golang
*/
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SHIELD!
评论