package
0.0.0-20240926033524-0989935589bb
Repository: https://github.com/stevenlee87/go-daily-lib.git
Documentation: pkg.go.dev

# README


1.2.2 特性速览

1.初始化

声明和初始化切片的方式主要有以下几种:

  • 变量声明;
  • 字面量
  • 使用内置函数make();
  • 从切片和数组中切取

1) 变量声明

var s []int

2) 字面量

s1 := []int{} // 空切片

s2 := []int{1, 2, 3} // 长度为3的切片

也可以使用字面量初始化切片,需要了解的是空切片是指长度为空,其值并不是nil

声明长度为0的切片时,推荐使用变量声明的方式获得一个nil切片,而不是空切片,因为nil切片不需要内存分配。

3) 内置函数make()

s1 := make([]int, 12) // 指定长度

s2 := make([]int, 10, 100) // 指定长度和空间

内置函数make() 可以创建切片,切片元素均初始化为相应类型的零值。

推荐指定长度的同时指定预估空间,可有效地减少切片扩容时内存分配及拷贝次数。

4) 切取