Junior — Middle
Peut-on comparer deux segments d'un tableau ou d'une liste entre eux?
sobes.tech IA
Réponse de l'IA
En Go, il n'est pas possible de comparer directement deux slices à l'aide de l'opérateur ==, sauf pour la comparaison avec nil. Pour comparer le contenu des slices, vous devez écrire votre propre fonction ou utiliser le package reflect.
Exemple d'une fonction pour comparer deux slices d'entiers:
func slicesEqual(a, b []int) bool {
if len(a) != len(b) {
return false
}
for i := range a {
if a[i] != b[i] {
return false
}
}
return true
}
Vous pouvez également utiliser reflect.DeepEqual(a, b), mais c'est moins efficace et adapté pour des cas généraux.
Ainsi, la comparaison de slices est possible, mais nécessite une implémentation explicite de la comparaison des éléments.