2013-08-20 11 views
19

Ich versuche, ein Stück Ganzzahlen in Go umzukehren.Wie kann ich eine Scheibe der Ganzzahl Go umkehren?

example := []int{1,25,3,5,4} 
    sort.Ints(example) // this will give me a slice sorted from 1 to the highest number 

Wie sortiere ich es so, dass es vom höchsten zum niedrigsten geht? so [25: 5 4 3 1]

ich diese

sort.Sort(sort.Reverse(sort.Ints(keys))) 

Quelle versucht: http://golang.org/pkg/sort/#Reverse

Allerdings erhalte ich den Fehler unter

# command-line-arguments 
./Roman_Numerals.go:31: sort.Ints(keys) used as value 

Antwort

37

sort.Ints ist eine praktische Funktion ein paar Ints sortieren. Im Allgemeinen müssen Sie die Schnittstelle sort.Interface implementieren, wenn Sie etwas sortieren möchten, und sort.Reverse gibt nur eine andere Implementierung dieser Schnittstelle zurück, die die Less Methode neu definiert.

Zum Glück ist die Sortierung Paket enthält einen vordefinierten Typ IntSlice genannt, die sort.Interface implementiert:

keys := []int{3, 2, 8, 1} 
sort.Sort(sort.Reverse(sort.IntSlice(keys))) 
fmt.Println(keys) 
6
package main 

import (
     "fmt" 
     "sort" 
) 

func main() { 
     example := []int{1, 25, 3, 5, 4} 
     sort.Sort(sort.Reverse(sort.IntSlice(example))) 
     fmt.Println(example) 
} 

Playground


Output:

[25 5 4 3 1] 
Verwandte Themen