Maison > Article > développement back-end > Utilisez la fonction fmt.Sscanf pour lire les données formatées d'une chaîne et les affecter à une variable
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) }
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) }
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!