El equivalente idiomático de Go del operador ternario de C
Un operador ternario es un operador de tres operandos que ayuda a los programadores a tomar decisiones. Es una versión condensada del condicional if-else
.
El operador ternario se nombra porque requiere tres operadores para completarse. Hay un operador ternario
(?:
) que se evalúa como una cadena if-else
en la mayoría de los lenguajes de programación, pero no hay un operador ternario
en Go.
Implementando el Operador Ternario de C en Golang
A continuación se muestra un ejemplo de un operador ternario
en el lenguaje de programación C, y luego lo convertiremos en Golang.
#include <stdio.h>
int main() {
int x = 5, y = 10, result;
result = (x > y) ? x : y;
printf("%d", result);
}
Producción :
10
Entonces el operador ternario
no está disponible en Go. En su lugar, puede usar un bloque if-else
, como los siguientes ejemplos a continuación.
Ejemplo 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)
}
Producción :
10
Ejemplo 2:
v = f > 0 ? 1 : 0 // if f > 0 then v is 1 else v is 0
La solución es un bloque if-else
. Representa el mismo código de una manera mucho más legible.
package main
import (
"fmt"
)
func main() {
var f, result int
f = 5
if f > 0 {
result = 1
} else {
result = 0
}
fmt.Println(result)
}
Producción :
1