Sorting
#
// O pacote `sort` de Go implementa ordenação tanto para
// tipos nativos como para tipos definidos pelo usuário.
// Aqui, será apresentado sorteamento para tipos nativos.
package main
import (
"fmt"
"sort"
)
func main() {
// Métodos de `sort` são específicos de tipos nativos;
// aqui está um exemplo para slices de strings. Note que
// a ordenação modifica o original, então atualiza o valor
// da slice e NÃO retorna nova estrutura.
strs := []string{"c", "a", "b"}
sort.Strings(strs)
fmt.Println("Strings: ", strs)
// Um exemplo de ordenação em slices de `int`s.
ints := []int{7, 2, 4}
sort.Ints(ints)
fmt.Println("Ints: ", ints)
// Também é possível utilizar o `sort` para checar se
// uma slice já está ordenada.
s := sort.IntsAreSorted(ints)
fmt.Println("Ordenado:", s)
}
# Ao executar o código são exibidos os slices de strings,
# bem com de inteiros, ordenados e `true` como resultado
# do `AreSorted`.
$ go run sorting.go
Strings: [a b c]
Ints: [2 4 7]
Ordenado: true