Sobes.tech
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.