¡Buenas! ¿Qué diferencia habría entre usar fmt.Scanf y el scanner de bufio?

Pregunta de la clase:
Leer inputs desde la consola
Sergio Ríos Ferrer

Sergio Ríos Ferrer

Pregunta
student
hace 6 años

¡Buenas! ¿Qué diferencia habría entre usar fmt.Scanf y el scanner de bufio?

1 respuestas
    Nestor Escoto

    Nestor Escoto

    teacher
    hace 6 años

    fmt.Scanf
    es más complejo de utilizar, te pongo el siguiente ejemplo:

    package main import ( "fmt" ) func main() { var e string var s string n, err := fmt.Scanf("%s %s", &e, &s) if err != nil { panic(err) } fmt.Printf("%d: %s, %s ", n, s, e) }

    Si corremos esto como:

    go run archivo.go
    tendremos que ingresar algo como
    "hola mundo"
    como input para poder leer ambas palabras, si en cambio necesitamos leer
    "hola mundo de nuevo"
    este programa solo va a identificar
    "hola mundo"
    por lo que necesitaríamos modificaciones en nuestro programa.

    Se ha elegido utilizar el scanner de bufio por ser más simple en este caso de la calculadora, ya que no son necesarias esas modificaciones.

    func leerEntrada() string { scanner := bufio.NewScanner(os.Stdin) scanner.Scan() return scanner.Text() }
Curso Práctico de Go: Creación de un Servidor Web

Curso Práctico de Go: Creación de un Servidor Web

Aprende a programar en Go, uno de los lenguajes para crear APIs altamente concurrentes, eficientes y potentes. Conoce las posibilidades de crear proyectos usando la gran apuesta de Google, y descubre por qué es el lenguaje de Backend preferido de sitios altamente concurridos como Twitch o la opción por defecto de tecnologías como Kubernetes.

Curso Práctico de Go: Creación de un Servidor Web
Curso Práctico de Go: Creación de un Servidor Web

Curso Práctico de Go: Creación de un Servidor Web

Aprende a programar en Go, uno de los lenguajes para crear APIs altamente concurrentes, eficientes y potentes. Conoce las posibilidades de crear proyectos usando la gran apuesta de Google, y descubre por qué es el lenguaje de Backend preferido de sitios altamente concurridos como Twitch o la opción por defecto de tecnologías como Kubernetes.