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

Comment puis-je parcourir une chaîne par runes dans Go ?

DDD
DDDoriginal
2024-11-16 03:56:03950parcourir

How can I iterate over a string by runes in Go?

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

Lorsque vous travaillez avec des chaînes dans Go, il est souvent nécessaire de parcourir les caractères ou runes individuels qui composent la chaîne. Bien qu'il puisse sembler simple d'utiliser le type d'octet []byte intégré, cette approche ne prend en compte que les octets qui représentent les runes, pas les runes elles-mêmes.

Pour parcourir efficacement une chaîne par runes, vous pouvez utiliser la syntaxe range, qui fournit un moyen pratique de parcourir les points de code Unicode d'une chaîne. Cette méthode analyse automatiquement l'encodage UTF-8 de la chaîne, vous permettant d'accéder directement aux runes.

Voici un exemple :

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

Ce code s'imprimera :

character 日 starts at byte position 0
character 本 starts at byte position 3
character 語 starts at byte position 6

La syntaxe de plage parcourt les points de code Unicode de la chaîne, donnant accès à la fois au point de code lui-même (représenté par char) et à sa position d'octet de départ dans la chaîne (représentée par pos). Cela permet un traitement flexible des runes au sein d'une chaîne.

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!

Déclaration:
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