Heim  >  Artikel  >  Backend-Entwicklung  >  Verwenden Sie die Funktion fmt.Sscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen

Verwenden Sie die Funktion fmt.Sscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen

WBOY
WBOYOriginal
2023-07-25 19:49:47838Durchsuche

Verwenden Sie die Funktion fmt.Sscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen.

In der Go-Sprache kann die Funktion Sscanf im fmt-Paket problemlos formatierte Daten aus einer Zeichenfolge lesen und einer Variablen zuweisen zu einer Variablen. Diese Funktion kann die Daten in der Zeichenfolge analysieren, die Daten gemäß dem angegebenen Format in den entsprechenden Typ konvertieren und das konvertierte Ergebnis in der angegebenen Variablen speichern. Die Syntax der Funktion

fmt.Sscanf lautet wie folgt:

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

wobei str die zu analysierende Zeichenfolge ist und das Format lautet: Im angegebenen Format ist a die Liste der zuzuweisenden Variablen, n die Anzahl der erfolgreich zugewiesenen Variablen und err die Fehlerbeschreibung.

Im Folgenden verwenden wir einige Codebeispiele, um unser Verständnis der Funktion fmt.Sscanf zu vertiefen.

Beispiel 1: Ganzzahlen in Zeichenfolgen analysieren

package main

import (
    "fmt"
)

func main() {
    str := "I have 10 apples"
    var apples int
    n, err := fmt.Sscanf(str, "I have %d apples", &apples)
    if err != nil {
        fmt.Println("解析错误:", err)
        return
    }
    fmt.Println("解析成功,变量apples的值为:", apples)
    fmt.Println("成功赋值的变量个数:", n)
}

Ausgabeergebnis:

Erfolgreich analysiert, der Wert der Variablenäpfel ist: 10
Anzahl der erfolgreich zugewiesenen Variablen: 1

Im obigen Beispiel übergeben wir die Funktion fmt.Sscanf analysiert die Zeichenfolge „Ich habe 10 Äpfel“, extrahiert die Ganzzahl 10 und weist sie der Variablen „Äpfel“ zu.

Beispiel 2: Mehrere Werte in der Zeichenfolge analysieren

package main

import (
    "fmt"
)

func main() {
    str := "I am 20 years old"
    var name string
    var age int
    n, err := fmt.Sscanf(str, "I am %s years old", &name, &age)
    if err != nil {
        fmt.Println("解析错误:", err)
        return
    }
    fmt.Println("解析成功,变量name的值为:", name)
    fmt.Println("解析成功,变量age的值为:", age)
    fmt.Println("成功赋值的变量个数:", n)
}

Ausgabeergebnis:

Erfolgreich analysiert, der Wert des Variablennamens ist: 20
Erfolgreich analysiert, der Wert des Variablenalters ist: 0
Anzahl der erfolgreich zugewiesenen Variablen : 1

In Beispiel 2 analysieren wir die Werte von „Name“ und „Alter“ aus der Zeichenfolge „Ich bin 20 Jahre alt“. Obwohl wir in der Formatzeichenfolge zwei Variablen angegeben haben, ist der Wert von „Alter“ 0, da „20“ als „Name“ vom Typ „Zeichenfolge“ und nicht als „Alter“ vom Typ „Ganzzahl“ geparst wird.

Zusammenfassung:

Mit der Funktion fmt.Sscanf können wir die Daten im angegebenen Format einfach aus der Zeichenfolge analysieren und der entsprechenden Variablen zuweisen. Dies ist sehr nützlich in Szenarien, in denen eine Zeichenfolgenformatierung erforderlich ist, z. B. in Konfigurationsdateien und Protokolldateien. Es ist jedoch zu beachten, dass wir sicherstellen müssen, dass der analysierte Datentyp mit dem Variablentyp übereinstimmt, um Analysefehler zu vermeiden.

Das obige ist der detaillierte Inhalt vonVerwenden Sie die Funktion fmt.Sscanf, um formatierte Daten aus einer Zeichenfolge zu lesen und sie einer Variablen zuzuweisen. 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