在Golang,我试图在不改变原始值的情况下对切片进行排序
func main() {
originalArray := []int{4, 2, 1, 1, 2}
newArray := originalArray
sort.Ints(newArray)
fmt.Printf("%v", originalArray) // prints [1 1 2 2 4]
}
如何在不更改原始值的情况下对golang
中的切片进行排序?
您需要制作原始切片的副本。
用途:
newArray := make([]int, len(originalArray))
copy(newArray, originalArray)
或:
newArray := append([]int{}, originalArray...)