1、len()

func len(v Type) int

函数len返回v的长度

数组:v中元素的数量
数组指针:*v中元素的数量(v为nil时panic)
切片、映射:v中元素的数量;若v为nil,len(v)即为零
字符串:v中字节的数量
通道:通道缓存中队列(未读取)元素的数量;若v为 nil,len(v)即为零

  

2、new()

func new(Type) *Type

用来分配内存,主要用来分配值类型

 

3、make()

func make(Type, size IntegerType) Type

用来分配内存,主要用来分配引用类型

切片:
size指定了其长度。该切片的容量等于其长度。切片支持第二个整数实参可用来指定不同的容量;它必须不小于其长度,因此 make([]int, 0, 10) 会分配一个长度为0,容量为10的切片。
映射:
初始分配的创建取决于size,但产生的映射长度为0。size可以省略,这种情况下就会分配一个小的起始大小。
通道:
通道的缓存根据指定的缓存容量初始化。若 size为零或被省略,该信道即为无缓存的。

  

4、cap()

func cap(v Type) int

内建函数cap返回v的容量,这取决于具体类型:

数组:v中元素的数量
数组指针:*v中元素的数量(v为nil时panic)
切片、映射:v中元素的数量;若v为nil,len(v)即为零
字符串:v中字节的数量
通道:通道缓存中队列(未读取)元素的数量;若v为 nil,len(v)即为零

  

5、append()

func append(slice []Type, elems ...Type) []Type

内建函数append将元素追加到切片的末尾。若它有足够的容量,其目标就会重新切片以容纳新的元素

否则,就会分配一个新的基本数组。append返回更新后的切片,因此必须存储追加后的结果

 

6、copy()

func copy(dst, src []Type) int

内建函数copy将元素从来源切片复制到目标切片中,也能将字节从字符串复制到字节切片中。

copy返回被复制的元素数量,它会是len(src)len(dst)中较小的那个,来源和目标的底层内存可以重叠

posted on 2022-03-03 00:23  smile学子  阅读(28)  评论(0编辑  收藏  举报