Sobes.tech
Junior — Middle

Quels sont les types de données intégrés dans Go qui permettent d'effectuer des opérations de comparaison?

sobes.tech IA

Réponse de l'IA

En Go, les opérations de comparaison sont prises en charge pour les types de données intégrés suivants :

  • Valeurs booléennes (bool) : peuvent être comparées pour l'égalité et la différence.
  • Types numériques (int, float32, float64, uint, etc.) : prennent en charge toutes les opérations de comparaison standard (==, !=, <, >, <=, >=).
  • Chaînes (string) : sont comparées lexicographiquement à l'aide des opérateurs ==, !=, <, >, <=, >=.
  • Pointeurs : sont comparés pour l'égalité et la différence (si ils pointent vers le même objet ou nil).
  • Interfaces : sont comparées pour l'égalité et la différence si les types dynamiques et les valeurs sont comparables.
  • Tableaux : sont comparés élément par élément si les éléments sont comparables.

Les types qui ne peuvent pas être comparés directement, comme les tranches (slice), les cartes (map), les fonctions (func), ne prennent pas en charge les opérations de comparaison, sauf la vérification contre nil.

Exemple de comparaison de chaînes et de nombres :

package main
import "fmt"

func main() {
    a := 10
    b := 20
    fmt.Println(a < b) // true

    s1 := "apple"
    s2 := "banana"
    fmt.Println(s1 == s2) // false
}