Maison >développement back-end >Golang >Comment accéder correctement aux caractères dans Go Strings ?

Comment accéder correctement aux caractères dans Go Strings ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-22 17:55:13284parcourir

How Do I Correctly Access Characters in Go Strings?

Accès aux caractères dans les chaînes Golang

Dans Go, l'accès aux caractères d'une chaîne diffère de son homologue ASCII, renvoyant la valeur d'octet sous-jacente au lieu de le personnage. Comme les chaînes représentent des tableaux d'octets, la récupération du premier caractère donne sa représentation numérique ASCII. Par exemple, "HELLO"[1] renvoie 69 au lieu du "E" prévu.

Solution : Conversion en points de code ASCII ou Unicode

Pour obtenir le personnage, pensez à utiliser les techniques suivantes :

1. ASCII (caractères à un octet) :

Convertissez la valeur d'octet en chaîne, renvoyant efficacement le caractère ASCII :

fmt.Println(string("Hello"[1])) // Prints "e"

2. Unicode (caractères multi-octets) :

Convertissez la chaîne en une tranche de runes (points de code Unicode) et accédez à la position souhaitée :

fmt.Println(string([]rune("Hello, 世界")[1])) // Prints "e" (ASCII)
fmt.Println(string([]rune("Hello, 世界")[8])) // Prints "界" (UTF-8)

Notes supplémentaires :

  • Pour des informations détaillées, reportez-vous à la spécification du langage de programmation Go sur Conversions.
  • Pour une exploration plus approfondie, consultez « Chaînes, octets, runes et caractères dans Go » sur le blog 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