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

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

PHPz
PHPzOriginal
2023-07-25 19:34:521485Durchsuche

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

In der Go-Sprache kann uns die Funktion fmt.Sscanf dabei helfen, Daten aus einer Zeichenfolge in einem bestimmten Format zu lesen und sie den gelesenen Daten zuzuweisen wird der entsprechenden Variablen zugewiesen. Dies bietet großen Komfort bei der Verarbeitung von String-Daten. In diesem Artikel wird die Verwendung der Funktion fmt.Sscanf vorgestellt und einige Beispielcodes bereitgestellt, um den Lesern das Verständnis zu erleichtern.

Werfen wir zunächst einen Blick auf die grundlegende Verwendung der Funktion fmt.Sscanf. Die Definition dieser Funktion lautet wie folgt:

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

In dieser Funktion ist str die zu analysierende Zeichenfolge, format das angegebene Format und a die zu übergebende Variable. Diese Funktion gibt die Anzahl der erfolgreich analysierten Parameter n und den Fehler err während des Analysevorgangs zurück.

Angenommen, wir haben die folgende Zeichenfolge: „Tom 20 180,12“, aus der wir den Namen, das Alter und die Größe extrahieren und diese jeweils den entsprechenden Variablen zuweisen möchten. Der Code lautet wie folgt:

package main

import (
    "fmt"
)

func main() {
    str := "Tom 20 180.12"
    var name string
    var age int
    var height float64

    n, err := fmt.Sscanf(str, "%s %d %f", &name, &age, &height)
    if err != nil {
        fmt.Printf("解析错误:%v
", err)
    }
    fmt.Printf("成功解析的参数数目:%d
", n)
    fmt.Printf("姓名:%s
", name)
    fmt.Printf("年龄:%d
", age)
    fmt.Printf("身高:%.2f
", height)
}

Die laufenden Ergebnisse lauten wie folgt:

成功解析的参数数目:3
姓名:Tom
年龄:20
身高:180.12

Im Code lesen wir die erste Zeichenfolge in die Namensvariable und die zweite Ganzzahl über die angegebene Formatzeichenfolge „%s %d %f“. die Altersvariable und die dritte Gleitkommazahl in die Höhenvariable. Über die Funktion fmt.Printf können wir die entsprechenden Ergebnisse ausdrucken.

Wenn wir komplexere Daten wie Datumsangaben usw. extrahieren möchten, können wir einige Sonderzeichen verwenden. Im Folgenden sind einige häufig verwendete Formatzeichen aufgeführt:

  • %d Ganzzahl lesen
  • %s Zeichenfolge lesen
  • %f Gleitkommazahl lesen
  • %t Booleschen Wert lesen (wahr/falsch)
  • %v Lesen Nehmen Sie einen beliebigen Typ von Wert
  • %c Ein einzelnes Zeichen lesen
  • %q Eine Zeichenfolge in Anführungszeichen lesen

Codebeispiel:

package main

import (
    "fmt"
)

func main() {
    str := "2022-06-30"
    var year, month, day int

    n, err := fmt.Sscanf(str, "%d-%d-%d", &year, &month, &day)
    if err != nil {
        fmt.Printf("解析错误:%v
", err)
    }
    fmt.Printf("成功解析的参数数目:%d
", n)
    fmt.Printf("年:%d
", year)
    fmt.Printf("月:%d
", month)
    fmt.Printf("日:%d
", day)
}

Das laufende Ergebnis lautet wie folgt:

成功解析的参数数目:3
年:2022
月:6
日:30

Mit der Funktion fmt.Sscanf können wir leicht formatiert lesen Daten aus einem String abrufen und mehreren Variablen zuweisen. Eine solche Funktion ist sehr nützlich für die Arbeit mit String-Daten und vermeidet den Aufwand, Strings manuell zu analysieren. Gleichzeitig können wir mithilfe der angegebenen Formatsteuerzeichenfolge die erforderlichen Daten flexibler extrahieren. Ich hoffe, dass der Beispielcode in diesem Artikel den Lesern helfen kann, diese Funktion besser zu verstehen und zu verwenden.

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