Maison > développement back-end > Golang > Comment accéder et convertir efficacement les caractères dans les chaînes Go ?

Comment accéder et convertir efficacement les caractères dans les chaînes Go ?

Mary-Kate Olsen
Libérer: 2024-12-19 06:22:13
original
787 Les gens l'ont consulté

How to Efficiently Access and Convert Characters in Go Strings?

Indexation des caractères dans les chaînes Golang

Les chaînes Go sont représentées sous forme de séquences d'octets en codage UTF-8. Pour accéder à des caractères individuels, qui peuvent occuper plusieurs octets, on peut utiliser la conversion de chaîne ou de []rune.

Accès aux caractères ASCII

Dans l'exemple :

fmt.Print("HELLO"[1])
Copier après la connexion

Le caractère à l'index 1 de la chaîne "HELLO" est accédé. Étant donné que les caractères ASCII n'occupent qu'un seul octet, le résultat est la valeur d'octet 69.

Conversion d'octets en caractères

Pour obtenir la valeur réelle du caractère, l'octet peut être converti à une chaîne. Cela garantit une bonne gestion de l'UTF-8 :

fmt.Println(string("Hello"[1])) // ASCII only
Copier après la connexion

Accès aux caractères Unicode

Pour les caractères Unicode, qui peuvent s'étendre sur plusieurs octets, la conversion []rune est requise :

fmt.Println(string([]rune("Hello, 世界")[1])) // UTF-8
Copier après la connexion

Conversion des runes en Octets

Pour reconvertir une rune en tranche d'octets, elle peut être passée en argument à []byte :

fmt.Println(string([]byte("Hello"))) // ASCII only
Copier après la connexion

Références :

  • [Aller à la section Spécification du langage de programmation sur Conversions](https://go.dev/ref/spec#Conversions)
  • [Le blog Go : chaînes, octets, runes et caractères dans Go](https://blog.golang.org/strings -octets-runes-et-personnages-en-go)

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