Función fmt.Scanln() en Golang con ejemplos

En el lenguaje Go, el paquete fmt implementa E/S formateadas con funciones análogas a las funciones printf() y scanf() de C. La función fmt.Scanln() en el lenguaje Go escanea los textos de entrada que se dan en la entrada estándar, lee desde allí y almacena los valores sucesivos separados por espacios en argumentos sucesivos. Esta función deja de escanear en una nueva línea y después del elemento final, debe haber una nueva línea o EOF. Además, esta función está definida en el paquete fmt. Aquí, debe importar el paquete «fmt» para usar estas funciones.

Sintaxis:

func Scanln(a ...interface{}) (n int, err error)

Aquí, «una…interfaz{}» recibe cada uno de los textos dados.

Devoluciones: Devuelve la cantidad de elementos escaneados con éxito.

Ejemplo 1:

// Golang program to illustrate the usage of
// fmt.Scanln() function
  
// Including the main package
package main
  
// Importing fmt
import (
    "fmt"
)
  
// Calling main
func main() {
  
    // Declaring some variables
    var name string
    var alphabet_count int
  
    // Calling Scanln() function for
    // scanning and reading the input
    // texts given in standard input
    fmt.Scanln(&name)
    fmt.Scanln(&alphabet_count)
  
    // Printing the given texts
    fmt.Printf("%s %d", 
               name, alphabet_count)
  
}

Aporte:

GFG 3

Producción:

GFG 0

Ejemplo 2:

// Golang program to illustrate the usage of
// fmt.Scanln() function
  
// Including the main package
package main
  
// Importing fmt
import (
    "fmt"
)
  
// Calling main
func main() {
  
    // Declaring some variables
    var name string
    var alphabet_count int
  
    // Calling Scanln() function for
    // scanning and reading the input
    // texts given in standard input
    fmt.Scanln(&name)
    fmt.Scanln(&alphabet_count)
  
    // Printing the given texts
    fmt.Printf("%s %d", 
               name, alphabet_count)
  
}

Aporte:

GeeksforGeeks \n 13

Producción:

GeeksforGeeks 0

En el ejemplo anterior, se puede ver que la entrada estándar toma el valor de «GeeksforGeeks \n 13» pero devuelve la salida como «GeeksforGeeks 0». Esto se debe a que esta función deja de escanear en la nueva línea (\n).

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *