[GO]map的使用
Posted baylorqu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[GO]map的使用相关的知识,希望对你有一定的参考价值。
map的格式:info := map[int]string{111:"baylor"}
它是一个key:value的形式,方括号里面是key的类型,后面是value的类型,它是无序的,我们无法决定它的返回顺序
需要注意的是:在同一个map里,key的值必须是唯一的,而且必须是支持==或者!=操作符的类型,切片、函数、以及包含切片的结构类型这些由于具有引用语义,所以不能做为映射的键。比如:info := [ []string ]int{},这样的一个类型就报错
package main import "fmt" func main() { var m1 map[int]string fmt.Println("m1 = ", m1) //对于一个map来说,只有长度,没有容量的说法 fmt.Println("m1 lenth = ", len(m1)) //可以通过make创建 m2 := make(map[int]string) fmt.Println("m2 lenth = ", len(m2)) //可以指定长度,当然这里只是指定了长度,如果在没有元素的情况下,打印出m3的长度仍然为0 //只有给m3赋某个值的时候,打印长度才会有值 m3 := make(map[int]string, 10) fmt.Println("m3 lenth = ", len(m3)) m3[1] = "balorqu" m3[2] = "go" m3[3] = "c++" fmt.Println("m3 = ", m3) fmt.Println("m3 lenth = ", len(m3)) }
执行结果
m1 = map[] m1 lenth = 0 m2 lenth = 0 m3 lenth = 0 m3 = map[2:go 3:c++ 1:balorqu] m3 lenth = 3
以上是关于[GO]map的使用的主要内容,如果未能解决你的问题,请参考以下文章
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段