Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie die Funktion fmt.Fscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen, bis das angegebene Trennzeichen gefunden wird.

Verwenden Sie die Funktion fmt.Fscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen, bis das angegebene Trennzeichen gefunden wird.

WBOY
WBOYOriginal
2023-07-25 10:13:271289Durchsuche

Verwenden Sie die Funktion fmt.Fscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen, bis das angegebene Trennzeichen gefunden wird.

Im fmt-Paket der Go-Sprache werden eine Reihe von Eingabe- und Ausgabefunktionen bereitgestellt, einschließlich der Funktion fmt. Fscanf zur Formatierungseingabe. Mit dieser Funktion können Sie Daten in einem bestimmten Format aus einem String lesen und der entsprechenden Variablen zuweisen.

Schauen wir uns zunächst ein einfaches Beispiel an.

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "42 3.14 Go"
    var num int
    var pi float64
    var lang string

    _, err := fmt.Fscanf(strings.NewReader(str), "%d %f %s", &num, &pi, &lang)
    if err != nil {
        fmt.Printf("格式化输入错误:%s
", err)
        return
    }

    fmt.Printf("num: %d
", num)
    fmt.Printf("pi: %f
", pi)
    fmt.Printf("lang: %s
", lang)
}

Im obigen Code definieren wir einen String str, der eine Ganzzahl, eine Gleitkommazahl und einen String enthält, getrennt durch Leerzeichen.

Als nächstes lesen wir mit der Funktion fmt.Fscanf Daten aus diesem String im angegebenen Format und weisen das Ergebnis der entsprechenden Variablen zu.

In diesem Beispiel haben wir drei Variablen definiert: num, pi und lang, um die gelesenen Daten zu empfangen. Wir ermöglichen fmt.Fscanf, die gelesenen Werte in den entsprechenden Variablen zu speichern, indem wir deren Speicheradressen (mit dem &-Operator) als Parameter übergeben.

%Die Formatzeichenfolge gibt den Datentyp an, den wir voraussichtlich lesen. In diesem Beispiel steht %d für eine Ganzzahl, %f für eine Gleitkommazahl und %s für eine Zeichenfolge.

Beachten Sie, dass wir die Funktion strings.NewReader verwenden, um die Zeichenfolge str in eine Implementierung der io.Reader-Schnittstelle einzubinden, damit sie an die Funktion fmt.Fscanf übergeben werden kann. Dies geschieht, weil die Funktion fmt.Fscanf einen Parameter vom Typ io.Reader erfordert und Daten von jedem Typ lesen kann, der diese Schnittstelle implementiert.

Abschließend überprüfen wir, ob der Lesevorgang erfolgreich war, indem wir die Variable err überprüfen. Wenn err nicht Null ist, ist ein formatierter Eingabefehler aufgetreten.

Wenn alles in Ordnung ist, können wir den gelesenen Wert ausdrucken.

Im obigen Code haben wir die Werte von num, pi und lang mit der Funktion fmt.Printf gedruckt. Sie können diese Werte nach Ihren eigenen Bedürfnissen verarbeiten.

Zusammenfassend lässt sich sagen, dass wir mit der Funktion fmt.Fscanf problemlos formatierte Daten aus einer Zeichenfolge lesen und sie der entsprechenden Variablen zuweisen können. Dies ist nützlich für die Verarbeitung von Benutzereingaben, das Parsen von Dateidaten usw. Zur Angabe verschiedener Datentypen können unterschiedliche Formatzeichenfolgen verwendet werden. Es ist zu beachten, dass der Lesevorgang angehalten wird und die verbleibenden Daten im Eingabestream verbleiben, wenn während des Lesevorgangs auf das angegebene Trennzeichen gestoßen wird.

Das obige ist der detaillierte Inhalt vonVerwenden Sie die Funktion fmt.Fscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen, bis das angegebene Trennzeichen gefunden wird.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn