Junior — Middle
Peut-on effectuer une comparaison de différentes structures de données?
sobes.tech IA
Réponse de l'IA
En Go, il est possible de comparer des structures de données si tous leurs champs sont comparables. Par exemple, les structures composées de types de base (int, string, bool, etc.) peuvent être comparées directement à l’aide de l’opérateur ==.
Cependant, si une structure contient des champs qui ne peuvent pas être comparés (par exemple, des slices, des maps, des fonctions), la comparaison directe de la structure entraînera une erreur de compilation.
Exemple de comparaison de structures :
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{Name: "Alice", Age: 30}
p3 := Person{Name: "Bob", Age: 25}
fmt.Println(p1 == p2) // true
fmt.Println(p1 == p3) // false
}
Si la structure contient des champs non comparables, comme des slices, il faut implémenter une fonction de comparaison personnalisée qui parcourt les éléments et les compare un par un.