Golang 7 : La déclaration if else
La déclaration if else
if est une déclaration conditionnel, Le syntaxe de cette déclaration est comme suivant:
if condition {
}
si la condition
est vraie, les lignes de code qui se trouvent entre {} sont exécutées.
Contrairement aux autres langages comme C, les {} sont obligatoires même s'il n'y a qu'une seule déclaration entre {}.
La déclaration de if a des composants optionnels elseif
et else
.
if condition {
} else if condition {
} else {
}
On peut rencontrer beaucoup de else if
. La condition est évaluée du début à la fin. Si la condition if
ou else if
est vraie, le bloc correspondant est exécuté, si aucune de ces conditions n'est vraie alors le bloc de else
est exécuté.
Voici un programme qui teste si un nombre est pair ou impair.
package main
import (
"fmt"
)
func main() {
num := 4
if num % 2 == 0 { //teste si le nombre est pair
fmt.Println("le nombre est pair")
} else {
fmt.Println("le nombre est impair")
}
}
Il y'a une autre version de if
qui inclut un composant optionnel statement
qui est exécuté avant que la condition soit évaluée. Le syntaxe est comme suivant:
if statement; condition{
}
On réécrit le programme précédent en utilisant le syntaxe ci-dessus:
package main
import (
"fmt"
)
func main() {
if num := 4; num % 2 == 0 { //teste si le nombre est pair
fmt.Println(num,"est pair")
} else {
fmt.Println(num,"est impair")
}
}
Dans le programme ci-dessus, num
est initialisé dans la déclaration if
. On doit noter que num
est accessible que de l'intérieur de if
et else
.
Voici un autre programme qui utilise else if
.
package main
import (
"fmt"
)
func main() {
num := 100
if num <= 39 {
fmt.Println("nombre inférieur ou égal à 39")
} else if num >= 40 && num <= 89 {
fmt.Println("nombre compris entre 40 et 89")
} else {
fmt.Println("le nombre est supérieur à 89")
}
}
Gotcha
La déclaration else
doit commencer dans la même ligne après }. Sinon il y'aura une erreur de compilation.
Exemple:
package main
import (
"fmt"
)
func main() {
num := 4
if num % 2 == 0 { //teste si le nombre est pair
fmt.Println("le nombre est pair")
}
else {
fmt.Println("le nombre est impair")
}
}
Si vous exécutez ce programme, vous aurez une erreur de compilation:
main.go:12:5: syntax error: unexpected else, expecting }
La raison est que Go insère des points virgules automatiquement après une déclaration if
.
Notre programme devient:
if num%2 == 0 {
fmt.Println("le nombre est pair")
}; //point virgule inséré par go
else {
fmt.Println("le nombre est impair")
}
if{…} else {…}
est une seule déclaration, le point virgule ne doit pas être présent dans le milieu de cette déclaration et c'est la raison pour laquelle il faut toujours placer else
dans la même ligne juste après ( } ).
Voici le programme réécrit après avoir enlever le else après le( } ) de la déclaration if pour éviter l'insertion automatique des points virgules .
package main
import (
"fmt"
)
func main() {
num := 4
if num%2 == 0 { //tester si le nombre est pair
fmt.Println("le nombre est pair")
} else {
fmt.Println("le nombre est impair")
}
}
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hey @raptorjesus I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x