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
有疑问加站长微信联系(非本文作者)
