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

Comment parcourir les runes dans une chaîne Go ?

Barbara Streisand
Libérer: 2024-11-13 03:10:02
original
878 Les gens l'ont consulté

How Do I Iterate Over Runes in a Go String?

Itération sur des chaînes par runes dans Go

Lors de l'itération sur des chaînes dans Go, les développeurs rencontrent souvent le besoin de travailler avec des runes (code Unicode points) plutôt que des octets. En effet, le type de chaîne de Go stocke des octets, pas des runes.

Considérez l'extrait de code suivant :

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

Cet extrait est destiné à parcourir les caractères de la chaîne str, en effectuant une action avec chaque rune. Cependant, accéder à str[i] renvoie un octet, pas une rune.

Pour parcourir les runes d'une chaîne, Go fournit une expression de plage spécifiquement à cet effet :

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

Dans dans l'exemple ci-dessus, l'expression range parcourt les runes de la chaîne, attribuant la rune actuelle à la variable char et la position actuelle de l'octet à la variable pos.

L'avantage de l'expression range est qu'elle gère UTF -8 décodage automatiquement, décomposant les points de code Unicode individuels. Cela simplifie la tâche d'itération sur les runes dans une chaîne tout en évitant les pièges potentiels de l'itération manuelle.

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