Maison > développement back-end > Golang > le corps du texte

Utilisez la fonction fmt.Sscanf pour lire les données formatées d'une chaîne et les affecter à une variable

WBOY
Libérer: 2023-07-25 19:49:47
original
872 Les gens l'ont consulté

Utilisez la fonction fmt.Sscanf pour lire les données formatées d'une chaîne et les affecter à une variable

Dans le langage Go, la fonction Sscanf du package fmt peut très facilement lire les données formatées d'une chaîne et les affecter à une variable. Attribuez-le à une variable. Cette fonction peut analyser les données de la chaîne, convertir les données au type correspondant selon le format spécifié et stocker le résultat converti dans la variable spécifiée. La syntaxe de la fonction

fmt.Sscanf est la suivante :

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

où str est la chaîne à analyser et le format est Au format spécifié, a est la liste des variables à attribuer, n est le nombre de variables affectées avec succès et err est la description de l'erreur.

Ci-dessous, nous utilisons quelques exemples de code pour approfondir notre compréhension de la fonction fmt.Sscanf.

Exemple 1 : Analyser des entiers dans des chaînes

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)
}
Copier après la connexion

Résultat de sortie :

Analyser avec succès, la valeur de la variable apple est : 10
Nombre de variables affectées avec succès : 1

Dans l'exemple ci-dessus, nous passons fmt.Sscanf La fonction analyse la chaîne "J'ai 10 pommes", extrait l'entier 10 et l'attribue à la variable pommes.

Exemple 2 : analyser plusieurs valeurs dans une chaîne

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)
}
Copier après la connexion

Résultat de sortie :

Analyser avec succès, la valeur du nom de la variable est : 20
Analyser avec succès, la valeur de la variable age est : 0
Nombre de variables affectées avec succès : 1

Dans l'exemple 2, nous analysons les valeurs de "nom" et "âge" à partir de la chaîne "J'ai 20 ans". Bien que nous ayons spécifié deux variables dans la chaîne de format, puisque « 20 » est analysé comme « nom » de type chaîne au lieu de « âge » de type entier, la valeur de « âge » est 0.

Résumé :

Grâce à la fonction fmt.Sscanf, nous pouvons facilement analyser les données au format spécifié à partir de la chaîne et les affecter à la variable correspondante. Ceci est très utile dans les scénarios où le formatage de chaîne est requis, tels que les fichiers de configuration et les fichiers journaux. Mais il convient de noter que nous devons nous assurer que le type de données analysées correspond au type de variable pour éviter les erreurs d'analyse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!