golang make用法

2023-05-21 18:05:48 用法 Golang

golang中的make是一个非常重要的内置函数,它用于创建和初始化切片、映射和通道。它也有一些使用细节需要注意,让我们深入了解一下。

make的基本用法

make的语法如下:

make(t Type, size ...IntegerType) Type

其中,t代表要创建的类型,size代表容器的长度。一般来说,size只对切片、映射和通道有效。

切片

我们可以使用make函数来创建切片:

slice := make([]int, 10)

上面的代码将创建一个包含10个元素的整数切片。切片类型作为第一个参数,容量和长度作为第二个参数。

映射

我们可以使用make函数来创建映射:

m := make(map[string]int)

上面的代码将创建一个空的字符串到整数的映射。

通道

我们可以使用make函数来创建通道:

ch := make(chan int)

上面的代码将创建一个int类型的无缓冲通道。

make的其他用法

make函数除了基本用法之外,还可以接受一个可变参数。这个参数用于指定切片、映射和通道的容量。这个参数只对切片或者通道有意义。如果省略它,容器将会是一个没有缓冲区的容器。

切片

我们可以使用make函数来创建具有足够容量的切片:

slice := make([]int, 10, 20)

上面的代码将创建一个长度为10,容量为20的整数切片。

映射

我们可以使用make函数来创建具有足够容量的映射:

m := make(map[string]int, 100)

上面的代码将创建一个初始容量为100的字符串到整数的映射。

通道

我们可以使用make函数来创建带有缓冲区的通道。缓冲区的大小由第二个参数决定:

ch := make(chan int, 10)

上面的代码将创建一个带有10个缓冲区的整数通道。

结论

Golang中,make函数是遇到切片、映射和通道时最常用的内置函数之一。它可以用来创建一个切片、映射或通道,并初始化其长度、容量或缓冲区大小。

需要注意的是,如果省略第二个参数,则容器将具有零长度或零缓冲区。如果提供了第二个参数,则它将是容器的初始容量。

在使用make函数时,一定要注意它对容器的长度或大小的初始化,以防止出现运行时错误。

以上就是golang make用法的详细内容,更多请关注其它相关文章!

相关文章