English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En langage Go, les tranches sont plus puissantes, flexibles, pratiques et légères que les tableaux. Une tranche est une séquence de longueur variable utilisée pour stocker des éléments du même type, et il n'est pas permis de stocker des éléments de types différents dans la même tranche. Dans les tranches Go, vous pouvez utiliserCompare()La fonction Compare() compare deux tranches de type byteComparaison。Cette fonction retourne une valeur entière qui indique si ces tranches sont égales ou non, et ces valeurs sont :
Si le résultat est 0, alors slice_1 == slice_2。
Si le résultat est-1,则slice_1 <slice_2。
Si le résultat est+1,则slice_1> slice_2。
Cette fonction est définie dans le paquet bytes, par conséquent, vous devez importer le paquet bytes dans votre programme pour accéder à la fonction Compare.
Syntaxe :
func Compare(slice_1, slice_2 []byte) int
Permettons de discuter de ce concept à l'aide d'un exemple :
//Comparaison de deux tranches de bytes package main import ( "bytes" "fmt" ) func main() { //Création et initialisation des tranches de bytes avec la déclaration abrégée slice_1 := []byte{'G', 'E', 'E', 'K', 'S'} slice_2 := []byte{'G', 'E', 'e', 'K', 'S'} //Comparaison des tranches //Utilisation de la fonction Compare res := bytes.Compare(slice_1, slice_2) if res == 0 { fmt.Println("!..Les tranches sont égales..!") } else { fmt.Println("!..Les tranches ne sont pas égales..!") } }
Sortie :
!..Les tranches ne sont pas égales..!
Comparaison de deux tranches de bytes :
package main import ( "bytes" "fmt" ) func main() { slice_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'} slice_2 := []byte{'a', 'g', 't', 'e', 'q', 'm'} slice_3 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'} slice_4 := []byte{'A', 'n', 'M', 'o', 'p', 'Q'} //Affichage de la tranche fmt.Println("Tranche 1: ", slice_1) fmt.Println("Tranche 2: ", slice_2) fmt.Println("Tranche 3: ", slice_3) fmt.Println("Tranche 4: ", slice_4) //Comparaison des tranches, utilisation de Compare res1 := bytes.Compare(slice_1, slice_2) res2 := bytes.Compare(slice_1, slice_3) res3 := bytes.Compare(slice_1, slice_4) res4 := bytes.Compare(slice_2, slice_3) res5 := bytes.Compare(slice_2, slice_4) res6 := bytes.Compare(slice_2, slice_1) res7 := bytes.Compare(slice_3, slice_1) res8 := bytes.Compare(slice_3, slice_2) res9 := bytes.Compare(slice_3, slice_4) res10 := bytes.Compare(slice_4, slice_1) res11 := bytes.Compare(slice_4, slice_2) res12 := bytes.Compare(slice_4, slice_3) res13 := bytes.Compare(slice_4, slice_4) fmt.Println("\nRésultat 1:", res1) fmt.Println("Résultat 2:", res2) fmt.Println("Résultat 3:", res3) fmt.Println("Résultat 4:", res4) fmt.Println("Résultat 5:", res5) fmt.Println("Résultat 6:", res6) fmt.Println("Résultat 7:", res7) fmt.Println("Résultat 8:", res8) fmt.Println("Résultat 9:", res9) fmt.Println("Résultat 10:", res10) fmt.Println("Résultat 11:", res11) fmt.Println("Résultat 12:", res12) fmt.Println("Résultat 13:", res13) }
Sortie :
coupe 1: [65 78 77 79 80 81] coupe 2: [97 103 116 101 113 109] coupe 3: [65 78 77 79 80 81] coupe 4: [65 110 77 111 112 81] Résultat 1: -1 Résultat 2: 0 Résultat 3: -1 Résultat 4: 1 Résultat 5: 1 Résultat 6: 1 Résultat 7: 0 Résultat 8: -1 Résultat 9: -1 Résultat 10: 1 Résultat 11: -1 Résultat 12: 1 Résultat 13: 0