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 :
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!