Golang如何用make创建切片

make用于创建并初始化切片、map和channel;语法为make([]T, len, cap),如make([]int, 5)创建长度为5的整型切片,容量可选,默认等于长度;make返回类型值本身,而new分配内存返回指针。

Golang如何用make创建切片

go语言中,make 函数用于创建和初始化切片、map 和 channel。当你想创建一个切片并指定其长度和可选容量时,make 是最常用的方式。

make 创建切片的基本语法

创建切片的语法如下:

make([]T, len, cap)

其中:

  • T 是切片元素的类型
  • len 是切片的长度(必需)
  • cap 是切片的容量(可选)

如果只提供长度,容量默认等于长度。

立即学习go语言免费学习笔记(深入)”;

常见用法示例

下面是几种典型的使用方式:

Golang如何用make创建切片

即构数智人

即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。

Golang如何用make创建切片41

查看详情 Golang如何用make创建切片

  • 创建长度为5的整型切片,所有元素初始化为0:
    s := make([]int, 5)
  • 创建长度为3,容量为10的字符串切片:
    s := make([]string, 3, 10)
  • 创建长度为0,容量为5的切片,适合频繁追加元素:
    s := make([]int, 0, 5)

make 与 new 的区别

make 只能用于 slice、map 和 channel,并返回对应类型的值。new 是分配内存并返回指针。例如:

ptr := new(int)

返回的是 *int,而 make 返回的是 slice 类型本身,不是指针。

小结

使用 make 创建切片时,你获得了一个已初始化的、可以立即使用的切片。它会自动分配底层数组,并将元素初始化为零值。这是创建动态切片的标准做法。

基本上就这些,不复杂但容易忽略细节。

go golang go语言 区别 golang String 整型 字符串 int 指针 Go语言 切片 len cap map channel

上一篇
下一篇