L'implémentation du tri dans le langage Go est principalement implémentée via le package sort. Le package sort fournit une interface de tri standard, nous permettant de trier facilement différents types de données. Cet article explique comment utiliser le package de tri pour trier dans Golang.
Principe d'implémentation du package sort
Le package sort implémente principalement le tri via l'interface sort.Interface Il dispose de trois méthodes :
Le package de tri fournit les fonctions de tri suivantes :
Exemple de code
Voici un exemple de code pour trier des tranches de type int :
package main import ( "fmt" "sort" ) func main() { data := []int{9, 6, 3, 8, 5, 2, 7, 4, 1} sort.Ints(data) fmt.Println(data) }
Le résultat est :
[1 2 3 4 5 6 7 8 9]
Voici un exemple de code pour trier à l'aide de sort.Interface d'interface :
package main import ( "fmt" "sort" ) type Person struct { Name string Age int } type ByName []Person func (this ByName) Len() int { return len(this) } func (this ByName) Less(i, j int) bool { return this[i].Name < this[j].Name } func (this ByName) Swap(i, j int) { this[i], this[j] = this[j], this[i] } func main() { people := []Person{ {"Bob", 31}, {"John", 42}, {"Jane", 29}, {"Michael", 17}, {"Chris", 51}, {"Sarah", 37}, } sort.Sort(ByName(people)) fmt.Println(people) }
Le résultat de sortie est :
[{Bob 31} {Chris 51} {Jane 29} {John 42} {Michael 17} {Sarah 37}]
Le code ci-dessus définit d'abord une structure Person et un type ByName. Le type ByName implémente trois méthodes de l'interface sort.Interface, qui sont utilisées pour indiquer au package de tri comment comparer deux éléments et comment échanger des éléments. Ensuite, une variable people est définie pour stocker les données de type Person. Enfin, la fonction sort.Sort est appelée pour trier les personnes par ordre croissant par nom et afficher les résultats.
Résumé
Cet article présente la méthode d'utilisation du package de tri pour le tri dans Golang, le principe d'implémentation du package de tri et quelques exemples de codes. Pour que les types de données soient triés, il suffit d'implémenter les trois méthodes dans l'interface sort.Interface. Le package sort fournit déjà des fonctions de tri pour les types de données courants tels que int, float64 et string. Lorsque vous l'utilisez, il vous suffit de le faire. appelle Can.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!