Maison > Article > développement back-end > L'évaluation de court-circuit de Go a-t-elle un impact sur les performances dans les instructions conditionnelles ?
En programmation, l'évaluation de court-circuit est une technique où une expression n'est évaluée que s'il est nécessaire de déterminer le résultat de l'instruction environnante . Ceci est souvent utilisé dans les instructions conditionnelles, où l'évaluation de plusieurs conditions est inutile si une condition antérieure est déjà fausse.
Go implémente l'évaluation de court-circuit pour les opérateurs logiques (&& et ||), similaire à de nombreuses autres programmations. langues. Cela signifie que dans une instruction if, l'interpréteur évaluera les conditions de gauche à droite et s'arrêtera dès que le résultat sera connu.
Concernant les exemples de code fournis, l'ordre d'évaluation des conditions n'affecte pas la performance du programme. Dans Go, les deux extraits de code se comporteront de la même manière. Le compilateur évaluera les expressions de gauche à droite et court-circuitera l'évaluation dès qu'il déterminera le résultat.
Pour démontrer cela, considérons le code suivant :
package main import "fmt" func main() { var r *http.Request queries := make(map[string][]string) if r == nil || len(queries) == 0 || !isValidQueryParams(&queries) { fmt.Println("Invalid querystring") } }
Même si isValidQueryParams a plus de surcharge que r == nil et len(queries) == 0, le compilateur évaluera les expressions dans l'ordre et court-circuitera dès que le résultat sera clair. Par conséquent, il n'y a aucune différence de performances entre les deux extraits de code de votre exemple.
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!