map 声明的几种方式
var a map [sting] int // string 代表key 值的类型 int 代表 value 值的类型
var b map [int] string // int key 值的类型 ,string 代表value 值的类型
var c map [string] string // string 代表 值的类型 string 代表value 值的类型
map 类型的变量需要先声明才能使用,需要使用make 分配map内存
示列
package main import "fmt" func map1() { var a map [string] int fmt.Println(a) // a["s1"] = 123 // fmt.Println(a) //panic: assignment to entry in nil map if a ==nil{ fmt.Println("map a nil ,need to format") a = make(map[string]int,16) //map a nil ,need to format a["s1"] = 123 a["s2"] = 23 fmt.Println(a,len(a)) // map[s1:123 s2:23] 2 } } func main() { map1() } }
map 声明的时候初始化
func map2() { b :=map[string] string{ "first": "mondany", "second" : "tuesday", } fmt.Printf("the map of b is %s",b) // 输出 the map of b is map[first:mondany second:tuesday] } func main() { map2() }
map 的基本操作
func map3() { var c map[string] int c = make(map[string]int, 128) // 增加元素 c["k1"]=1 c["k2"]=2 fmt.Println(c) //map[k1:1 k2:2] // 修改元素 c["k1"]=11 fmt.Println(c) //map[k1:11 k2:2] // 删除元素 delete(c,"k1") fmt.Println(c) // map[k2:2] } func main() { map3() }
map 的循环遍历
func map4() { d :=map[string] string{ "first": "mondany", "second" : "tuesday", "third": "wedensday", } for key,value :=range d{ fmt.Printf("%s=%s\n",key,value) // 输出 元素 first=mondany second=tuesday third=wedensday } } func main() { map4() }
map 判断元素是否存在
value,ok = map[key] key 存在的话 为true ,不存在的话为false
有疑问加站长微信联系(非本文作者)