Go学习-map

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]

阅读更多
文章标签: go学习 map
想对作者说点什么? 我来说一句

Go 1.9 sync Map 分析图

2017年12月15日 279KB 下载

没有更多推荐了,返回首页

不良信息举报

Go学习-map

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭