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