Maison >développement back-end >Golang >Go utilise-t-il l'évaluation des courts-circuits dans les expressions booléennes ?
Go met-il en œuvre l'évaluation des courts-circuits ?
L'évaluation des courts-circuits fait référence à la pratique consistant à évaluer une expression dans une instruction if uniquement si elle est nécessaire pour déterminer le résultat de la déclaration. En d'autres termes, si la première expression d'une instruction if est évaluée comme fausse, les expressions restantes ne sont pas évaluées.
Go implémente l'évaluation de court-circuit. Cela peut être illustré avec le code suivant :
package main import "fmt" func main() { for i := 0; i < 10; i++ { if testFunc(1) || testFunc(2) { // do nothing } } } func testFunc(i int) bool { fmt.Printf("function %d called\n", i) return true }
Lorsque ce code est exécuté, il imprimera le résultat suivant :
$ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called
Comme vous pouvez le voir, la fonction testFunc(2 ) n'est jamais appelé, car la première expression de l'instruction if (testFunc(1)) est évaluée à true. Cela démontre que Go implémente l'évaluation des courts-circuits.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!