Go 语言中的切片(slice)是一个长度可变的序列,它是对数组的一个连续片段的引用。切片本身并不存储数据,它只是对底层数组的引用。切片的创建、操作和销毁都非常简单,这使得它们在处理动态数据集时非常有用。
以下是使用 Go 语言切片的一些基本步骤:
- 创建切片:
package main import "fmt" func main() { // 创建一个整数切片,长度为 3,容量为 5 numbers := make([]int, 3, 5) fmt.Println(numbers) // 输出: [0 0 0] }
- 访问切片元素:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} fmt.Println(numbers[0]) // 输出: 1 fmt.Println(numbers[2]) // 输出: 3 }
- 修改切片元素:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} numbers[1] = 10 fmt.Println(numbers) // 输出: [1 10 3 4 5] }
- 添加切片元素:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} numbers = append(numbers, 6) fmt.Println(numbers) // 输出: [1 2 3 4 5 6] }
- 删除切片元素:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} numbers = numbers[:3] fmt.Println(numbers) // 输出: [1 2 3] }
- 切片截取:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} subSlice := numbers[1:3] fmt.Println(subSlice) // 输出: [2 3] }
- 遍历切片:
package main import "fmt" func main() { numbers := []int{1, 2, 3, 4, 5} for _, number := range numbers { fmt.Println(number) } }
- 切片拷贝:
package main import "fmt" func main() { original := []int{1, 2, 3, 4, 5} copied := make([]int, len(original)) copy(copied, original) fmt.Println(original) // 输出: [1 2 3 4 5] fmt.Println(copied) // 输出: [1 2 3 4 5] }
这些是使用 Go 语言切片的一些基本操作。切片提供了许多其他功能,如排序、反转等,可以根据需要使用。