Maison > Article > développement back-end > Comment obtenir la valeur Unicode d'un caractère dans Go : similaire au charCodeAt() de JavaScript ?
Comment obtenir la valeur Unicode d'un caractère dans Go, similaire à la méthode charCodeAt() de JavaScript
La méthode charCodeAt() de JavaScript fournit un représentation numérique du caractère Unicode à un index spécifique dans une chaîne. Dans Go, la gestion des valeurs Unicode et la récupération des codes de caractères nécessitent une approche légèrement différente.
Comprendre Rune dans Go
Dans Go, les personnages sont représentés par le type de rune, un alias pour int32. Cela signifie que chaque caractère est déjà un nombre, contrairement aux chaînes JavaScript où les caractères sont représentés par des nombres accessibles via charCodeAt().
Conversion d'une chaîne en runes
Pour obtenir la valeur numérique Unicode d'un caractère, convertissez la chaîne en une tranche de runes en utilisant []rune(string). Cette approche vous permet d'accéder à des runes individuelles dans la chaîne.
Utilisation de la boucle de plage for
Vous pouvez également parcourir les runes d'une chaîne en utilisant une plage for. boucle. Cette approche est plus efficace que la conversion de la chaîne entière en une tranche de runes.
Exemple de code
Le code suivant montre comment obtenir la valeur Unicode d'un caractère :
<code class="go">package main import "fmt" func charCodeAt(s string, n int) int32 { i := 0 for _, r := range s { if i == n { return r } i++ } return 0 } func main() { fmt.Println(charCodeAt("s", 0)) // Outputs: 115 fmt.Println(charCodeAt("absdef", 2)) // Outputs: 115 }</code>
Travailler avec des octets
Si vous avez la garantie que la chaîne utilise des caractères avec des codes inférieurs à 127, vous pouvez directement indexer la chaîne sous forme d'octets au lieu de runes . Dans Go, l'indexation d'une chaîne récupère sa valeur en octets.
<code class="go">fmt.Println("s"[0]) // Outputs: 115 fmt.Println("absdef"[2]) // Outputs: 115</code>
Cette approche est plus simple mais peut conduire à des inexactitudes si la chaîne contient des caractères multi-octets.
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!