"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je vérifier si trois valeurs sont égales en Go?

Comment puis-je vérifier si trois valeurs sont égales en Go?

Publié le 2025-03-24
Parcourir:362

How Can I Check if Three Values are Equal in Go?

Vérification de l'égalité de trois valeurs élégamment

Bien que l'approche traditionnelle avec si a == b == c entraîne une erreur de syntaxe, il existe des méthodes alternatives pour déterminer si trois valeurs sont égales. Approche

La solution la plus simple reste:

si a == b && a == c { fmt.println ("tous les 3 sont égaux") }

if a == b && a == c {
    fmt.Println("All 3 are equal")
}

if Len (map [interface {}] int {a: 0, b: 0, c: 0}) == 1 { fmt.println ("tous les 3 sont égaux") }

avec les tableaux:

Les tableaux sont comparables, ce qui nous permet de comparer plusieurs éléments à la fois:

If [2] interface {} {a, b} == [2] interface {} {b, c} {b} == [2] interface {} {b, c}} {b} == [2] Interface {} {b, c}} {b} == [2] Interface {} {b, c}} {b} == [2] Interface {} {b, c}} {b} == [2] Interface {} {b, c}} {B { fmt.println ("tous les 3 sont égaux") }

if len(map[interface{}]int{a: 0, b: 0, c: 0}) == 1 {
    fmt.Println("All 3 are equal")
}

We can index a map with a key that results in the comparison value:

if map[interface{}]bool{a: b == c}[b] { fmt.println ("tous les 3 sont égaux") }

if [2]interface{}{a, b} == [2]interface{}{b, c} {
    fmt.Println("All 3 are equal")
}

Les structures sont également comparables, afin que nous puissions créer une structure anonyme avec les valeurs et les comparer:

Si structure {a, b interface {}} {a, b} == Structure {a,} interface}}} {a, b} == } {b, c} { fmt.println ("tous les 3 sont égaux") }

if map[interface{}]bool{a: b == c}[b] {
    fmt.Println("All 3 are equal")
}

Pour comparer les tranches, nous utilisons la fonction de réflect.deequal ():

if reflef.deesequal ([] interface {}} {a, b}, [] interface {} {b, c}) fmt.println ("tous les 3 sont égaux") }

if struct{ a, b interface{} }{a, b} == struct{ a, b interface{} }{b, c} {
    fmt.Println("All 3 are equal")
}

Nous pouvons définir une fonction d'assistance pour gérer n'importe quel nombre de valeurs:

func allequals (v ... interface {}) Bool { Si Len (v)> 1 { A: = V [0] pour _, s: = range v { Si a! = S { retourner faux } } } Retour vrai }

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3