📌  相关文章
📜  如何初始化切片 - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:38:10.451000             🧑  作者: Mango

如何初始化切片 - Go 编程语言

在 Go 中,切片(slice)是一个动态数组,可以根据需要进行扩展或缩小。切片可以看作是对数组的一种封装,提供了一些很方便的操作,比如动态增加元素、指定位置插入元素、删除元素等。本文将介绍如何初始化切片,以及一些常用操作。

初始化切片

初始化切片有以下几种方式:

  1. 直接声明初始化
var s []int = []int{1, 2, 3, 4, 5}

这种方式需要给定初始值,类型为[]int

  1. make() 函数初始化
s := make([]int, 5, 10)

该方式使用make()函数创建一个指定类型([]int)、长度(5)和容量(10)的切片。

  1. 使用 append() 函数初始化
s := []int{1, 2, 3, 4, 5}
s = append(s, 6, 7, 8, 9, 10)

这种方式首先声明并初始化一个切片,然后使用append()函数添加新的元素。

切片常用操作
  1. 获取切片的长度和容量
s := make([]int, 5, 10)
fmt.Println(len(s), cap(s)) // 输出 5 10

通过len()函数和cap()函数可以获取切片的长度和容量。

  1. 截取切片
s := []int{1, 2, 3, 4, 5}
s1 := s[0:3] // 获取 1, 2, 3
s2 := s[2:]  // 获取 3, 4, 5
s3 := s[:3]  // 获取 1, 2, 3

可以使用切片来截取另一个切片,具体方式是slice[begin:end],其中begin是起始下标(包括该下标所对应的元素),end是结束下标(不包括该下标所对应的元素)。

  1. 遍历切片
s := []int{1, 2, 3, 4, 5}
for i := 0; i < len(s); i++ {
    fmt.Println(s[i])
}

for i, v := range s {
    fmt.Println(i, v)
}

可以使用for循环遍历切片,也可以使用range关键字来遍历。

总结

本文介绍了如何初始化切片以及一些常用操作。Go 语言中的切片提供了很多方便的功能,需要程序员充分掌握和利用。