L'équivalent go idiomatique de l'opérateur ternaire de C
Un opérateur ternaire est un opérateur à trois opérandes qui aide les programmeurs à prendre des décisions. C’est une version condensée du conditionnel if-else
.
L’opérateur ternaire est nommé car il nécessite trois opérateurs pour se terminer. Il existe un opérateur ternaire
(?:
) qui s’évalue comme une chaîne if-else
dans la plupart des langages de programmation, mais il n’y a pas d’opérateur ternaire
en Go.
Implémentation de l’opérateur ternaire de C dans Golang
Un exemple d’opérateur ternaire
dans le langage de programmation C est donné ci-dessous, puis nous le convertirons en Golang.
#include <stdio.h>
int main() {
int x = 5, y = 10, result;
result = (x > y) ? x : y;
printf("%d", result);
}
Production:
10
L’opérateur ternaire
n’est donc pas disponible en Go. Vous pouvez utiliser un bloc if-else
à la place, comme dans les exemples suivants ci-dessous.
Exemple 1:
package main
import (
"fmt"
)
func main() {
var x, y, result int
x = 5
y = 10
if x > y {
result = x
} else {
result = y
}
fmt.Println(result)
}
Production:
10
Exemple 2 :
v = f > 0 ? 1 : 0 // if f > 0 then v is 1 else v is 0
La solution est un bloc if-else
. Il représente le même code d’une manière beaucoup plus lisible.
package main
import (
"fmt"
)
func main() {
var f, result int
f = 5
if f > 0 {
result = 1
} else {
result = 0
}
fmt.Println(result)
}
Production:
1