Você pode ordenar um slice com a ajuda da função Slice(). Esta função classifica o slice especificado de acordo com a função less fornecida. O resultado desta função não é estável.
Portanto, para ordenação estável, você pode usar SliceStable. E essa função entra em pânico se a interface especificada não for do tipo slice.
func Slice(a_slice interface{}, less func(p, q int) bool)
Além disso, podemos usar o pacote de sort embutido para ordenar um slice ao invés de escrever manualmente quaisquer algoritmos de ordenação.
// Organiza slice do tipo []string em ordem alfabética
sort.Strings
// Organiza slice do tipo []string em ordem alfabética invertida
sort.Sort(sort.Reverse(sort.String(slice)))