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.Fscanf() en el lenguaje Go escanea el texto especificado, lo lee de r y luego almacena los valores sucesivos separados por espacios en argumentos sucesivos según lo determine el formato. Aquí las nuevas líneas en la entrada deben coincidir con las nuevas líneas en el formato. Además, esta función está definida en el paquete fmt. Aquí, debe importar el paquete «fmt» para usar estas funciones.
Sintaxis:
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
Parámetros: Esta función acepta tres parámetros que se ilustran a continuación:
- r io.Reader: este parámetro contiene los textos especificados escaneados.
- string de formato: este parámetro contiene diferentes formatos para recibir los elementos.
- una …interfaz{}: este parámetro es la variable especificada para cada elemento.
Devoluciones: Devuelve el número de elementos analizados con éxito.
Ejemplo 1:
// Golang program to illustrate the usage of // fmt.Fscanf() 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 Fscanf() function to receive // the scanned texts n, err := fmt.Fscanf(r, "%d %t %s", &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.Fscanf() 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 Fscanf() function to receive // the scanned texts n, err := fmt.Fscanf(r, "%d %t %g %s", &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