Maison > développement back-end > Golang > Comment parcourir une chaîne avec des runes dans Go ?

Comment parcourir une chaîne avec des runes dans Go ?

Susan Sarandon
Libérer: 2024-11-13 11:19:02
original
827 Les gens l'ont consulté

How to Iterate Over a String by Runes in Go?

Itérer sur une chaîne par des runes dans Go

Dans Go, vous pouvez rencontrer une situation dans laquelle vous souhaitez parcourir une chaîne par son runes individuelles ou points de code Unicode. Vous pourriez être tenté d'utiliser une boucle for traditionnelle avec l'index i pour accéder à chaque caractère :

for i := 0; i < len(str); i++ {
    dosomethingwithrune(str[i]) // takes a rune
}
Copier après la connexion

Cependant, cette approche ne fonctionnera pas correctement car str[i] renvoie un octet (uint8) au lieu de une rune. Pour parcourir la chaîne par runes, vous devez utiliser la syntaxe de plage :

for pos, char := range "日本語" {
    fmt.Printf("character %c starts at byte position %d\n", char, pos)
}
Copier après la connexion

Ce code imprimera le résultat suivant :

character 日 starts at byte position 0
character 本 starts at byte position 3
character 語 starts at byte position 6
Copier après la connexion

Comme l'explique la documentation d'Effective Go, la syntaxe range "fait plus de travail pour vous, en séparant les points de code Unicode individuels en analysant l'UTF-8". Cela vous permet de travailler directement avec les runes, ce qui facilite l'exécution d'opérations liées à Unicode sur vos chaînes.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal