¿Cómo reemplazar el operador ternario de C/C++ en Go? Formas idiomáticas
¡Hola a todos! Acabo de empezar a aprender Go después de varios años trabajando con C++ y me encontré con un problema. En C++ solía usar el operador ternario para asignaciones condicionales cortas, por ejemplo:
```cpp
int min = (a < b) ? a : b;
```
Pero en Go no existe tal operador. Entiendo que se puede usar un if/else normal:
```go
var min int
if a < b {
min = a
} else {
min = b
}
```
Pero esto ocupa 4-5 líneas en lugar de una. Para cosas simples como elegir un valor o formatear una cadena, parece demasiado verboso. Por ejemplo, quiero hacer algo como:
```go
fmt.Println("Result: " + (score > 50 ? "Pass" : "Fail"))
```
O asignar un valor dependiendo de una condición dentro de un return:
```go
return (isValid ? data : defaultValue)
```
¿Cómo se hace esto correctamente en Go? ¿Existe alguna forma idiomática de acortar estas construcciones? ¿Quizás hay funciones integradas o patrones? Agradecería ejemplos de código.
<<>>