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 au charCodeAt() de JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 01:18:03829parcourir

How to Get the Unicode Value of a Character in Go: Similar to JavaScript's charCodeAt()?

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!

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