在 Go 中创建一个空切片

本文将讨论在 Go 中实现空切片。

在 Go 中初始化一个空切片

空切片具有对空数组的引用。它的长度和容量为零,并指向一个长度为零的底层数组。

我们可以使用下面的代码在 Go 中初始化一个空切片。

package main
import "fmt"
func main() {
    b := []string{}
    fmt.Println(b == nil)
}

输出:

false

在 Go 中使用 make() 创建一个空切片

make() 函数也可以生成一个空切片。

下面是一些使用 make() 的代码示例。

示例 1:

package main
import "fmt"
func main() {
    c := make([]string, 0)
    fmt.Println(c == nil)
}

输出:

false

示例 2:

package main
import "fmt"
func main() {
    // Creating an array of size 6
    // and slice this array  till 3
    // and return the reference of the slice
    // Using make() function
    var sliceA = make([]int, 3, 6)
    fmt.Printf("SliceA = %v, \nlength = %d, \ncapacity = %d\n",
        sliceA, len(sliceA), cap(sliceA))
    // Creating another array of size 6
    // and return the reference of the slice
    // Using make() function
    var sliceB = make([]int, 6)
    fmt.Printf("SliceB = %v, \nlength = %d, \ncapacity = %d\n",
        sliceB, len(sliceB), cap(sliceB))
}

输出:

SliceA = [0 0 0],
length = 3,
capacity = 6
SliceB = [0 0 0 0 0 0],
length = 6,
capacity = 6