2017-02-08 43 views
1
的陣列

我嘗試使用下面的函數排序INTS

func sortArray(array [100]int) [100]int { 
    var sortedArray = array 
    sort.Sort(sort.Ints(sortedArray)) 

    return sortedArray 
} 

排序int數組,並得到以下錯誤:

.\helloworld.go:22: cannot use sortedArray (type [100]int) as type []int in argument to sort.Ints .\helloworld.go:22: sort.Ints(sortedArray) used as value

我試圖找出圍棋和我陷入了這個問題。

+1

'sort.Ints'(確實是'sort.Sort')期待一個切片,並且您給它一個數組。 –

回答

6

您可以通過將整個陣列

sort.Ints(array[:]) 

你可能不希望在首位的陣列然而切片數組排序,並應使用[]int片。

另外,您的sortedArrayarray的值相同,因此沒有理由創建第二個變量。

+0

乾杯,它的工作。我會更多地閱讀片斷以找出原因。謝謝。我也修復了冗餘。爲什麼會出現第二個錯誤信息? – Kaylined

+1

@Kaylined:第二個錯誤信息是因爲你試圖將'sort.Ints'作爲參數傳遞給'sort.Sort'。 'sort.Ints'沒有返回值,你不需要調用'sort.Sort'。 – JimB