fmt.Sscanln() Funktion in Golang mit Beispielen
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.