Una pregunta muy común en entrevistas suele ser ¿Existe el operador ternario en Go? y en caso de no existir ¿Cual es su equivalente?
Usualmente el operador ternario lo conocemos de esta manera en la mayoría de los lenguajes:
int a = prueba ? 1 : 2;
En golang no contamos como tal con esta expresión, sin embargo podemos obtener el mismo resultado con un simple bloque if:
var a int if test { a = 1 } else { a = 2 }
Ahora bien esta misma expresión del bloque if es posible representarla en una sola línea con una función anónima:
a := func() int { if prueba { return 1 } else { return 2 } }()
En una sola linea el código esta genial
sí , aunque no es una implementación nativa como otros lenguajes pero es posible hacerlo como se muestra en el último ejemplo.