Golang make 如何在Go中创建Slice

226 阅读2分钟

Golang Slice make() Function | How To Create Slice in Go

**Golang slice make()**函数创建了空片。空切片是那些包含空数组引用的切片。

Golang make

Golang make()是一个内置的切片 函数,用于创建一个切片。make() 函数接受三个参数:类型、长度和容量,并返回切片。要创建动态大小的数组,请使用make()函数。

**make()**函数分配了一个归零的数组,并返回一个指向该数组片断 。该函数分配给底层数组的大小等于给定的容量,并返回指向底层数组的片断。

语法

func make([]T, len, cap) []T

Golang slice是一种灵活的、可扩展的数据结构,用来实现和管理数据集合。切片是由多个项目组成的,都是同一类型的。

slice是动态数组的一个片段,可以根据你的需要增长和缩小。

Golang slice make()的实现

现在,让我们来创建一个空的slice。

// hello.go

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

当你使用make()函数时,你有一个选项是指定分片的长度。当你指定长度时,切片的容量是一样的。在我们的例子中,我们已经定义了片断的长度和容量。

在第一个例子中,切片的长度是3,而容量是6;在第二个例子中,长度是6,而容量是6。

Golang slice的字面意思

你可以用一个slice literal来创建一个slice。创建slice literal就像创建数组 literal一样,但有一点不同,你不允许在方括号[]中指定slice的大小。

var sliceA = []string{"Gandia", "Arturo", "Alicia"}

有一点需要记住的是,当你使用字符串字面意义创建分片时,那么它首先创建数组,之后再返回分片的引用。

总结

我们可以使用Golang make()函数和slice literal来创建一个slice。

本教程到此结束。

另请参见

如何将slice转换为字符串

Golang slice append()

Golang字符串转符文

The postGolang make: How to Create Slice in Goappeared first onAppDividend.