Instruction de branchement if en Golang

GolangGolangBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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
Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 92%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

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, 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.

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 instructions else if, mais il ne peut y 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.
  • Vous pouvez utiliser une instruction d'initialisation dans l'instruction if pour raccourcir le code.
  • Le compilateur impose que les mots-clés if, else et else if doivent être sur la même ligne que les accolades.