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
Mary-Kate Olsenoriginal
2024-12-19 06:22:13782parcourir

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])

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

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

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

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!

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