Función fmt.Fscan() 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.Fscan() en el lenguaje Go escanea el texto especificado, lo lee de r y luego almacena los valores sucesivos separados por espacios en argumentos sucesivos. Aquí las nuevas líneas se cuentan como espacios. Además, esta función está definida en el paquete fmt. Aquí, debe importar el paquete «fmt» para usar estas funciones.

Sintaxis:

func Fscan(r io.Reader, a ...interface{}) (n int, err error)

Parámetros: Esta función acepta dos parámetros que se ilustran a continuación:

  • r io.Reader: este parámetro contiene los textos especificados escaneados.
  • una …interfaz{}: Este parámetro recibe cada tipo de los textos especificados.

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

Ejemplo 1:

// Golang program to illustrate the usage of
// fmt.Fscan() function
  
// Including the main package
package main
  
// Importing fmt, io and strings
import (
    "fmt"
    "os"
    "strings"
)
  
// Calling main
func main() {
  
        // Declaring some type of variables
    var (
        i int
        b bool
        s string
    )
      
    // Calling the NewReader() function to
    // specify some type of texts.
    // variable "r" contains the scanned texts
    r := strings.NewReader("10 false GFG")
      
    // Calling the Fscan() function to receive 
    // the scanned texts
    n, err := fmt.Fscan(r, &i, &b, &s)
      
    // If the above function returns an error then
    // below statement will be executed
    if err != nil {
        fmt.Fprintf(os.Stderr, "Fscanf: %v\n", err)
    }
      
    // Printing each type of scanned texts
    fmt.Println(i, b, s)
      
    // It returns the number of items 
    // successfully scanned
    fmt.Println(n)
}

Producción:

10 false GFG
3

Ejemplo 2:

// Golang program to illustrate the usage of
// fmt.Fscan() function
  
// Including the main package
package main
  
// Importing fmt, io and strings
import (
    "fmt"
    "os"
    "strings"
)
  
// Calling main
func main() {
  
        // Declaring some type of variables
    var (
        i int
        b bool
        s string
        f float32
    )
      
    // Calling the NewReader() function to
    // specify some type of texts.
    // variable "r" contains the scanned texts
    r := strings.NewReader("46 true 3.4 GeeksforGeeks")
      
    // Calling the Fscan() function to receive 
    // the scanned texts
    n, err := fmt.Fscan(r, &i, &b, &f, &s)
      
    // If the above function returns an error then
    // below statement will be executed
    if err != nil {
        fmt.Fprintf(os.Stderr, "Fscanf: %v\n", err)
    }
      
    // Printing each type of scanned texts
    fmt.Println(i, b, f, s)
      
    // It returns the number of items 
    // successfully scanned
    fmt.Println(n)
}

Producción:

46 true 3.4 GeeksforGeeks
4

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 *