Vérification de l'égalité des tranches
Lors de la comparaison de l'égalité de deux tranches, les opérateurs standard == et != ne peuvent pas être utilisés directement car ils ne fonctionne que pour des valeurs nulles. Pour résoudre ce problème, la fonction Reflect.DeepEqual() peut être utilisée.
Deep Equality of Slices
DeepEqual() effectue une comparaison récursive des valeurs, garantissant que toutes les éléments à l’intérieur des tranches sont examinés. Pour les tranches, il considère les critères suivants :
Code Exemple
L'extrait de code suivant montre comment utiliser DeepEqual() pour comparer des tranches :
package main import ( "fmt" "reflect" ) func main() { s1 := []int{1, 2} s2 := []int{1, 2} fmt.Println(reflect.DeepEqual(s1, s2)) // Output: true (slices are equal) }
Différence par rapport à == Operator
Contrairement à l'opérateur ==, DeepEqual() considère la structure interne des tranches, y compris leurs tableaux sous-jacents. Par conséquent, il fournit une comparaison plus complète pour les objets comme les tranches, où deux instances avec les mêmes éléments peuvent ne pas être identiques.
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!