In der Go-Sprache implementiert das Paket fmt formatierte E/A mit Funktionen, die den Funktionen printf() und scanf() von C entsprechen. Die Funktion fmt.Sscanln() in der Go-Sprache scannt die angegebene Zeichenfolge und speichert die aufeinanderfolgenden, durch Leerzeichen getrennten Werte in aufeinanderfolgenden Argumenten. Diese Funktion stoppt das Scannen bei einem Zeilenumbruch und nach dem letzten Element muss ein Zeilenumbruch oder EOF vorhanden sein. Außerdem ist diese Funktion unter dem Paket fmt definiert. Hier müssen Sie das Paket „fmt“ importieren, um diese Funktionen nutzen zu können.

Syntax:

func Sscanln(str string, a ...interface{}) (n int, err error)

Parameter: Diese Funktion akzeptiert zwei Parameter, die unten dargestellt sind:

  • str string: Dieser Parameter enthält den angegebenen Text, der gescannt werden soll.
  • a …interface{}: Dieser Parameter empfängt alle Elemente des Strings.

Rückgabe : Gibt die Anzahl der erfolgreich gescannten Elemente zurück.

Beispiel 1:

// Golang program to illustrate the usage of
// fmt.Sscanln() 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 Sscanln() function
    n, err := fmt.Sscanln("GFG 3", &name, &alphabet_count)
  
    // Checking if the function
    // returns any error
    if err != nil {
        panic(err)
    }
  
    // Printing the number of elements 
    // present in the specified string
    // and also the elements
    fmt.Printf("n: %d, name: %s, alphabet_count: %d",
                             n, name, alphabet_count)
  
}

Ausgabe:

n: 2, name: GFG, alphabet_count: 3

Beispiel 2:

// Golang program to illustrate the usage of
// fmt.Sscanln() 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 Sscanln() function
    fmt.Sscanln("GFG \n 3", &name, &alphabet_count)
  
    // Printing the elements of the string
    fmt.Printf("name: %s, alphabet_count: %d", name, alphabet_count)
  
}

Ausgabe:

name: GFG, alphabet_count: 0

Im obigen Beispiel ist ersichtlich, dass der zugewiesene Wert von alphabet_count 3 war, die Ausgabe jedoch 0 ist, weil es eine neue Zeile (\n) zwischen zwei Elementen „GFG“ und „alphabet_count“ gibt und daher diese Funktion stoppt Scannen bei einem Zeilenumbruch.