Go语言基本语法(3)| 青训营

55 阅读2分钟

上篇笔记写到了数组和切片,今天继续对Go语言的基本语法进行回顾。在切片之后,青训营的课程讲到了map语句。在本人初学Go语言时对这个部分感到困惑,但是经过理解以后其实也能大致弄明白map的用法,接下来就来学习一下map语句吧。

在Go语言中,map是一种无序的键值对数据结构,有点类似于Python语言中的字典。map是通过key来快速检索数据,这个key类似于索引,指向数据的值。在map中,每个元素都包含一个key和一个值。其中,key必须是唯一的,而值则可以重复。在Go语言中,创建map和上篇提到的切片的方式一样,用make函数可以创建map,创建一个初始容量为5的map代码如下: a :=make(map[string]int,5) 而对map里进行赋值也与前面的内容类似,这里借用课程里的代码例子: a["one"]=1 a["two"]=2 当然也有其他的方法,例如直接在创建时赋值: a := map[string]int{ "one":1, "two":2, } 当要获取map中的元素时,就有些不同了,代码示例如下: b,ok := a["one"] 由于map里存在这个元素,b的值就是1,ok也是显示true。而比如把代码改为 b,ok := a["six"] 在map里不存在“six”,所以b的值为0,ok为false。

要是想要删除map里的元素,只需使用delete进行删除,例如删除“two”这个元素: delete(a,"two") 要是想要遍历map,只需一个循环即可实现,但是需要接下来的range来实现。代码如下: for k, v := range a { fmt.Println(k,v) }

既然提到了range,那么range是什么呢?在Go语言中,range用于for循环中数组、切片、map的元素。在数组和切片中它返回元素的索引和索引对应的值,在map中返回key和value。关于range的用法与代码示例,本人认为上一段的代码就很清晰的展现了range的用法,在这里就不过多展示了。