/*
map键值对的集合;键是唯一的;键值对无序的
*/
package main
import "fmt"
func main() {
//01 定义 map[类型1]类型2 类型1不能为指针类型 可以为&类型
var m1 map[int]string //声明变量
fmt.Println("m1=", m1)
m1 = map[int]string{1: "1", 2: "2"} //初始化
fmt.Println("m1=", m1)
m2 := make(map[int]string) //声明并初始化值
m2[1] = "1"
fmt.Println("m2=", m2)
m3 := make(map[int]string, 2) //指定容量
m3[1] = "333"
fmt.Println("m3=", m3)
//02 map 的遍历
m4 := map[int]string{1: "1", 2: "2", 3: "3"}
for key, data := range m4 {
fmt.Printf("key=%d,val=%s\n", key, data)
}
//03 判断map中,某个key 是否存在
val, ok := m4[1] //val 为key对应的返回值,ok 表示此key是否存在
fmt.Printf("val=%v,ok=%v\n", val, ok)
//04 map的删除
fmt.Println("删除前m4=", m4)
delete(m4, 1)
fmt.Println("删除后m4=", m4)
//05 map 作为参数传递时是引用传递
fmt.Println("传参前=", m4)
test(m4)
fmt.Println("传参后=", m4)
}
func test(m map[int]string) {
m[2] = "test!!!!!!!"
}
3.10 go map
猜你喜欢
转载自blog.csdn.net/h4241778/article/details/105306440
今日推荐
周排行