En algunas ocasiones durante el proceso de desarrollo es necesario ordenar una colección de elementos previo a realizar algún proceso, esto suele implicar el escribir código para implementar algún algoritmo de ordenamiento, afortunadamente en Go tenemos la opción de utilizar el paquete Sort
para estas tares.
El paquete Sort contiene las funciones sort.Ints
, sort.Float64s
y sort.Strings
las cuales nos van a permitir ordenar slices del tipo mencionado en las funciones, a continuación se muestra un ejemplo de cómo utilizar el método sort.Ints
.
|
|
https://go.dev/play/p/mAsovhLVrVu
Implementando la interface ‘sort.Interface’
Cuando trabajamos con colecciones de estructuras podemos utilizar la interface Interface
dentro del paquete sort
la cual contiene los siguientes métodos.
|
|
Al implementar los métodos podemos ordenar de forma sencilla los elementos de la colección, veamos un ejemplo.
|
|
Como podrás notar en el ejemplo utilizamos la
type definition
type People []Person.
https://go.dev/play/p/hMwpyvzdcqK
Utilizando la función sort.Slice
Por ultimo existe otra opción para ordenar slices aunque este última opción utiliza reflection con el respectivo costo de recursos que eso implica, a continuación se muestra un ejemplo de cómo utilizar la función.
|
|
https://go.dev/play/p/Z_0EDDoCR7i
Como podrás notar el paquete sort
nos ofrece varias opciones para ordenar nuestros elementos además de algunas funciones para comprobar si los elementos dentro de una colección están ordenados lo cual ayudará a mejorar nuestra productividad.
Happy coding! @SaturPimentel