首页 > 后端开发 > Golang > golang make用法

golang make用法

PHPz
发布: 2023-05-21 18:47:38
原创
1368 人浏览过

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用法的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板