如何在不改变原始切片的情况下对切片进行排序



在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...)

相关内容

最新更新