Map初始化
package main
import (
"fmt"
)
func main() {
var m1 map[int]string
m1 = map[int]string{}
fmt.Println(m1)
//make方式
m2 := make(map[int]string)
fmt.Println(m2)
}
输出
chenlilong@DESKTOP-B9ALUUJ MINGW64 /d/gopath/src
$ go run map.go
map[]
map[]
注意:
1、map的可以key必须可以使用==,或!=进行比较
2、使用delete删除
3、for循环得到的v值为值传递,修改值需要通过索引修改
package main
import (
"fmt"
)
func main() {
m := make(map[int]string)
m[1] = "ok" //赋值
fmt.Println(m[1]) //取值
delete(m, 1) //删除
fmt.Println(m[1])
m2 := map[int]string{1: "hello", 2: "ok"}
//v是值传递
for _, v := range m2 {
fmt.Println(v)
v = "no"
}
fmt.Println(m2)
//通过for修改里面的值
for k, v := range m2 {
fmt.Println(v)
m2[k] = v + "new"
}
fmt.Println(m2)
}
输出
chenlilong@DESKTOP-B9ALUUJ MINGW64 /d/gopath/src
$ go run map.go
ok
hello
ok
map[1:hello 2:ok]
hello
ok
map[2:oknew 1:hellonew]