
使用 make 函数创建切片
make 函数是 Go 语言中用于创建切片、映射和通道的内置函数。对于切片,make 函数会分配一个底层数组,并返回一个引用该数组的切片值。make 函数的常见用法如下:
slice := make([]T, length, capacity)
示例代码
以下示例代码演示了如何使用 make 函数创建一个动态大小的切片:
package main
import "fmt"
func main() {
// 声明一个整数类型的切片,长度为 10,容量也为 10
slice := make([]int, 10)
// 初始化切片元素
for i := 0; i < len(slice); i++ {
slice[i] = i * 2
}
// 打印切片元素
fmt.Println("Slice:", slice)
// 使用 append 函数向切片追加元素
slice = append(slice, 20, 22, 24)
// 打印追加元素后的切片
fmt.Println("Slice after append:", slice)
// 打印切片的长度和容量
fmt.Println("Length of slice:", len(slice))
fmt.Println("Capacity of slice:", cap(slice))
// 声明一个容量为10的切片,长度为0
slice2 := make([]int, 0, 10)
fmt.Println("Length of slice2:", len(slice2))
fmt.Println("Capacity of slice2:", cap(slice2))
// 向 slice2 追加元素,直到超出容量
for i := 0; i < 15; i++ {
slice2 = append(slice2, i)
}
fmt.Println("Slice2 after append:", slice2)
fmt.Println("Length of slice2:", len(slice2))
fmt.Println("Capacity of slice2:", cap(slice2))
}代码解释:
立即学习“go语言免费学习笔记(深入)”;
注意事项
总结
使用 make 函数可以方便地创建动态大小的切片。切片是 Go 语言中处理动态数组的强大工具,它提供了灵活的操作方式和自动内存管理功能。理解切片的长度、容量和引用语义对于编写高效的 Go 程序至关重要。通过合理地使用 make 函数和 append 函数,可以有效地管理切片的内存,并避免不必要的性能损失。
以上就是Go语言动态数组(切片)内存分配教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号