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.Sscanf() en el lenguaje Go escanea la string especificada y almacena los valores sucesivos separados por espacios en argumentos sucesivos según lo determine 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 Sscanf(str string, format string, a ...interface{}) (n int, err error)
Parámetros: Esta función acepta tres parámetros que se ilustran a continuación:
- str string: este parámetro contiene el texto especificado que se escaneará.
- string de formato: este parámetro son los diferentes tipos de formato para cada elemento de la string especificada.
- una …interfaz{}: este parámetro recibe cada elemento de la string.
Devoluciones: Devuelve el número de elementos analizados con éxito.
Ejemplo 1:
// Golang program to illustrate the usage of // fmt.Sscanf() function // Including the main package package main // Importing fmt import ( "fmt" ) // Calling main func main() { // Declaring two variables var name string var alphabet_count int // Calling the Sscanf() function which // returns the number of elements // successfully parsed and error if // it persists n, err := fmt.Sscanf("GFG is having 3 alphabets.", "%s is having %d alphabets.", &name, &alphabet_count) // Below statements get // executed if there is any error if err != nil { panic(err) } // Printing the number of // elements and each elements also fmt.Printf("%d: %s, %d\n", n, name, alphabet_count) }
Producción:
2: GFG, 3
Ejemplo 2:
// Golang program to illustrate the usage of // fmt.Sscanf() 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 var float_value float32 var boolean_value bool // Calling the Sscanf() function which // returns the number of elements // successfully parsed and error if // it persists n, err := fmt.Sscanf("GeeksforGeeks 13 6.7 true", "%s %d %g %t", &name, &alphabet_count, &float_value, &boolean_value) // Below statements get executed // if there is any error if err != nil { panic(err) } // Printing the number of elements // and each elements also fmt.Printf("%d: %s, %d, %g, %t", n, name, alphabet_count, float_value, boolean_value) }
Producción:
4: GeeksforGeeks, 13, 6.7, true
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