在Go语言中,可以使用以下方法之一来复制切片:
- 使用内置的
copy()
函数:
package main import "fmt" func main() { originalSlice := []int{1, 2, 3, 4, 5} copiedSlice := make([]int, len(originalSlice)) copy(copiedSlice, originalSlice) fmt.Println("Original slice:", originalSlice) fmt.Println("Copied slice:", copiedSlice) }
- 使用切片表达式:
package main import "fmt" func main() { originalSlice := []int{1, 2, 3, 4, 5} copiedSlice := originalSlice[:] fmt.Println("Original slice:", originalSlice) fmt.Println("Copied slice:", copiedSlice) }
- 使用
append()
函数:
package main import "fmt" func main() { originalSlice := []int{1, 2, 3, 4, 5} copiedSlice := append([]int{}, originalSlice...) fmt.Println("Original slice:", originalSlice) fmt.Println("Copied slice:", copiedSlice) }
以上三种方法都可以有效地复制切片。copy()
函数和切片表达式方法会创建一个新的切片,并将原始切片的元素复制到新切片中。而append()
函数则会创建一个新的切片,并将原始切片的元素追加到新切片中。