Introducción
Ayer escribí cómo leer datos del usuario que son pedidos por consola. La versión que hice fue un poco larga para un proceso tan simple, así que aquí traigo una versión mejorada que me recuerda más a cuando leíamos variables en C con scanf.
La ventaja de esto es que podemos leer muchas variables de varios tipos, con la conversión automática.
Código de ejemplo
Pondré el mismo ejemplo de ayer, en donde elegíamos nuestra botana (si así se le puede llamar) favorita. La diferencia es que ahora leeremos un número entero. Es importante notar que al leer con Scanln pasamos como argumento la dirección de la variable, no la variable en sí.
package main
import(
"fmt"
)
func main() {
menu :=
`
Bienvenido
[ 1 ] Pizza
[ 2 ] Tacos
¿Qué prefieres?
`
fmt.Print(menu)
var eleccion int //Declarar variable y tipo antes de escanear, esto es obligatorio
fmt.Scanln(&eleccion)
switch eleccion{
case 1:
fmt.Println("Prefieres pizza")
case 2:
fmt.Println("Prefieres tacos")
default:
fmt.Println("No prefieres ninguno de ellos")
}
}
A lo que acabamos de hacer se le puede llamar lectura sin formato, porque lee toda la entrada. Podríamos igualmente leer un flotante, una cadena, etcétera.
Pingback: Explicación de defer en Go - Parzibyte's blog
Pingback: Mayor o menor de edad en varios lenguajes de programación - Parzibyte's blog