Instruction d'initialisation dans l'instruction if
Dans les leçons précédentes, l'instruction if
n'avait qu'un seul paramètre, la condition :
if condition {
code
}
Le paramètre complet inclut également une instruction d'initialisation, qui est un paramètre facultatif en Go. Elle est généralement utilisée pour la déclaration et l'initialisation de variables temporaires, et l'instruction d'initialisation est séparée par un point-virgule lorsqu'elle est utilisée. La syntaxe est la suivante :
if initialization statement; condition {
code
}
Nous avons réécrit le programme de la section "if else". Nous avons déplacé la déclaration de variable dans l'instruction if
en tant qu'instruction d'initialisation pour raccourcir le code :
package main
import (
"fmt"
"time"
)
func main() {
if t := time.Now(); t.Weekday() == time.Saturday || t.Weekday() == time.Sunday {
fmt.Println("Today is:", t.Weekday(), "weekend, studying and recharging")
} else {
fmt.Println("Today is:", t.Weekday(), "also studying hard")
}
}
Exécutez le programme :
go run if_else.go
On peut voir qu'il s'exécute correctement :
Today is: Monday also studying hard
Remarque : La portée de la variable déclarée dans l'instruction d'initialisation est limitée au bloc if
.
Je ne sais pas si vous, les passionnés de Go, avez remarqué les exigences de formatage de Go lors de l'apprentissage des instructions if
.
- En Go, les mots-clés
if
, else
et else if
doivent être sur la même ligne que la accolade fermante }
.
- Les mots-clés
else if
et else
doivent également être sur la même ligne que l'accolade ouvrante précédente, sinon, le compilateur signalera une erreur de syntaxe lors de la compilation.
Si nous exécutons le programme après avoir déplacé l'instruction else
à la ligne suivante, le compilateur signale une erreur de syntaxe.