Go · Intermediário · Português · Técnico
pacote slices
Pacote da biblioteca padrão desde o Go 1.21 com funções genéricas para slices: Sort, Contains, Index, Reverse, Max, BinarySearch e outras.
Onde usar
Substitui laços repetitivos e o antigo sort.Slice na maioria dos casos. Funciona com qualquer tipo de elemento, respeitando as constraints de comparable ou ordered.
Em código
xs := []int{3, 1, 2}
slices.Sort(xs)
fmt.Println(xs) // [1 2 3]
fmt.Println(slices.Contains(xs, 2)) // true
fmt.Println(slices.Index(xs, 3)) // 2Exemplos
Troquei meu laço de busca por slices.Contains.
O slices.Sort ordena no lugar, sem devolver uma nova slice.
Cuidado
Não confunda com o tipo slice da linguagem; slices é o pacote, e funções como Sort e Reverse alteram o slice no lugar.