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 语言切片的一些基本操作。切片提供了许多其他功能,如排序、反转等,可以根据需要使用。