Go语言容器(container)
-
Go语言nil:空值/零值
在Go语言中,布尔类型的零值(初始值)为 false,数值类型的零值为 0,字符串类型的零值为空字符串"",而指针、切片、映射、通道、函数和接口的零值则是 ni…
-
Go语言list(列表)
列表是一种非连续的存储容器,由多个节点组成,节点通过一些变量记录彼此之间的关系,列表有多种实现方法,如单链表、双链表等。 列表的原理可以这样理解:假设 A、B、C 三个人都有电话号…
-
Go语言sync.Map(在并发环境中使用的map)
Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的。 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m…
-
Go语言map元素的删除和清空
Go语言提供了一个内置函数 delete(),用于删除容器内的元素,下面我们简单介绍一下如何用 delete() 函数删除 map 内的元素。 使用 delete() 函数从 ma…
-
Go语言遍历map(访问map中的每一个键值对)
map 的遍历过程使用 for range 循环完成,代码如下: scene := make(map[string]int) scene["route"] = …
-
Go语言map(Go语言映射)
Go语言中 map 是一种特殊的数据结构,一种元素对(pair)的无序集合,pair 对应一个 key(索引)和一个 value(值),所以这个结构也称为关联数组或字典,这是一种能…
-
Go语言多维切片简述
Go语言中同样允许使用多维切片,声明一个多维数组的语法格式如下: var sliceName [][]…[]sliceType 其中,sliceName 为切片的名字,…
-
Go语言range关键字:循环迭代切片
通过前面的学习我们了解到切片其实就是多个相同类型元素的连续集合,既然切片是一个集合,那么我们就可以迭代其中的元素,Go语言有个特殊的关键字 range,它可以配合关键字 for 来…
-
Go语言从切片中删除元素
Go语言并没有对删除切片元素提供专用的语法或者接口,需要使用切片本身的特性来删除元素,根据要删除元素的位置有三种情况,分别是从开头位置删除、从中间位置删除和从尾部删除,其中删除切片…
-
Go语言copy():切片复制(切片拷贝)
Go语言的内置函数 copy() 可以将一个数组切片复制到另一个数组切片中,如果加入的两个数组切片不一样大,就会按照其中较小的那个数组切片的元素个数进行复制。 copy() 函数的…