Les opérateurs et les conditions
11 min · Débutant · 3 octobre 2026
Comparer des valeurs
go
age := 20
aPermis := true
fmt.Println(age >= 18) // true
fmt.Println(age >= 18 && aPermis) // true : les deux doivent etre vraies
fmt.Println(age < 18 || aPermis) // true : au moins une est vraie
fmt.Println(!aPermis) // false : inverse la valeur Les conditions, sans parenthèses
go
func categoriser(note int) string {
if note >= 16 {
return "Excellent"
} else if note >= 10 {
return "Admis"
} else {
return "Ajourne"
}
}
fmt.Println(categoriser(18)) // "Excellent"
fmt.Println(categoriser(5)) // "Ajourne" Info
Contrairement à Java ou JavaScript, Go n’exige pas de parenthèses autour de la condition d’un if. Les accolades {} restent en revanche toujours obligatoires, même pour un bloc d’une seule instruction.
L’instruction d’initialisation dans un if
go
ages := map[string]int{"Alice": 25, "Bob": 30}
if valeur, existe := ages["Alice"]; existe {
fmt.Println("Age trouve :", valeur)
} else {
fmt.Println("Cle absente")
}
// valeur et existe ne sont visibles qu'ici, pas en dehors du if/else Cette syntaxe limite la portée de valeur et existe au bloc if/else, évitant de polluer le reste de la fonction avec des variables temporaires.
À toi de jouer
go
package main
import "fmt"
func estPositifEtPair(n int) bool {
return n > 0 && n%2 == 0
}
func main() {
fmt.Println(estPositifEtPair(-4))
}