Introduction
Lorsque vous créez un plan de tâches à faire, si une tâche n'est pas encore terminée, elle sera ajoutée à la liste des tâches à faire, et si elle est terminée, elle sera déplacée vers la liste des éléments terminés.
Dans le monde de la programmation, nous devons également modifier la direction du programme en fonction de différentes exigences. Ensuite, apprenons le déclencheur de branche if, qui est une instruction de contrôle de flux.
Points clés de connaissance :
- Instruction
if - Instruction
if-else - Instruction
else-if - Règles de formatage
Instruction if
L'instruction de branchement la plus couramment utilisée est l'instruction if, qui vérifie si une condition prédéfinie est vraie, puis décide si le bloc de code doit être exécuté. Voici son format :
if condition {
code block
}
Lorsque la condition est vraie, le programme exécute le bloc de code ; sinon, il saute le bloc de code.
Regardons un exemple pratique. Créez un nouveau fichier appelé if.go et écrivez le code suivant dedans :
cd ~/project
touch if.go
package main
import (
"fmt"
)
func main() {
var num = 40
// Obtenir le reste de la division de deux nombres en utilisant %
if num % 2 == 0 {
fmt.Println(num, "is even")
}
}
Exécutez le programme :
go run if.go
Le résultat est le suivant :
40 is even
Dans ce programme, nous déclarons d'abord une variable entière num. Ensuite, dans l'instruction if, nous utilisons l'opérateur modulo % pour obtenir le reste de la division de num par 2, et l'opérateur d'égalité == pour vérifier si le reste est égal à 0. Si c'est le cas, le bloc de code est exécuté et il affiche que le nombre est pair.
Instruction if else
Que devons-nous faire si nous voulons afficher autre chose lorsque la condition dans l'instruction if n'est pas remplie? Dans ce cas, nous pouvons utiliser l'instruction if else. Si la condition dans l'instruction if est vraie, le bloc de code de l'instruction if est exécuté ; sinon, le bloc de code de l'instruction else est exécuté.
Le format de l'instruction if else est similaire à celui de l'instruction if :
if condition {
code
} else {
code
}
Regardons un exemple. Le programme suivant affichera si aujourd'hui est un jour de semaine ou un week-end :
cd ~/project
touch if_else.go
package main
import (
"fmt"
"time"
)
func main() {
// Obtenir l'heure actuelle
t := time.Now()
// Vérifier s'il s'agit de samedi ou de dimanche
if t.Weekday() == time.Saturday || t.Weekday() == time.Sunday {
fmt.Println("Today is:", t.Weekday(), "weekend")
} else {
fmt.Println("Today is:", t.Weekday(), "weekday")
}
}
Exécutez le programme :
go run if_else.go
Le résultat est le suivant :
Today is: Monday weekday
Nous utilisons le package time de la bibliothèque standard pour obtenir l'heure actuelle. Ensuite, en la comparant avec samedi et dimanche, si c'est un week-end, le bloc de code de l'instruction if est exécuté ; sinon, le bloc de code de l'instruction else est exécuté.
Instruction else if
En plus de vérifier une seule condition, nous pouvons également utiliser l'instruction else if pour vérifier plusieurs conditions.
Son format est le suivant :
if condition {
code
} else if condition {
code
} else {
code
}
Dans une instruction de branchement, vous pouvez avoir plusieurs instructions else if, mais vous ne pouvez avoir qu'une seule instruction if et une seule instruction else. L'instruction else if doit être placée entre les instructions if et else.
Réécrivons le programme de la section "if else" pour afficher le jour de la semaine :
Mettez à jour le fichier if_else.go :
package main
import (
"fmt"
"time"
)
func main() {
today := time.Now().Weekday()
if today == time.Monday {
fmt.Println("Today is Monday")
} else if today == time.Tuesday {
fmt.Println("Today is Tuesday")
} else if today == time.Wednesday {
fmt.Println("Today is Wednesday")
} else if today == time.Thursday {
fmt.Println("Today is Thursday")
} else if today == time.Friday {
fmt.Println("Today is Friday")
} else if today == time.Saturday {
fmt.Println("Today is Saturday")
} else {
fmt.Println("Today is Sunday")
}
}
Exécutez le programme :
go run if_else.go
Après l'exécution, le résultat est le suivant :
Today is Monday
Dans le programme précédent, nous utilisions d'abord time.Now() pour obtenir l'heure actuelle, puis nous extrayions le jour de la semaine à partir de l'heure actuelle. Dans ce programme, ces deux lignes de code sont combinées en une seule ligne. Après avoir obtenu le jour de la semaine, il le fait correspondre avec l'instruction de branchement pour afficher le jour de la semaine.
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.
Problèmes de formatage
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,elseetelse ifdoivent être sur la même ligne que la accolade fermante}. - Les mots-clés
else ifetelsedoivent é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.
Résumé
Dans ce laboratoire, nous avons expliqué l'instruction de branchement if, y compris les principaux points suivants :
- Dans un bloc de code de branchement
if, il peut y avoir plusieurs instructionselse if, mais il ne peut y avoir qu'une seule instructionifet une seule instructionelse. - L'instruction
else ifdoit être placée entre les instructionsifetelse. - Vous pouvez utiliser une instruction d'initialisation dans l'instruction
ifpour raccourcir le code. - Le compilateur impose que les mots-clés
if,elseetelse ifdoivent être sur la même ligne que les accolades.



