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