Función fmt.Sscanf() 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.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

Deja una respuesta

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