Maison > développement back-end > Golang > Comment convertir une rune en chaîne dans Go ?

Comment convertir une rune en chaîne dans Go ?

Barbara Streisand
Libérer: 2024-11-19 11:45:03
original
377 Les gens l'ont consulté

How do I Convert a Rune to a String in Go?

Conversion d'une rune en chaîne dans Go

Lorsque vous travaillez avec des caractères Unicode dans Go, vous pouvez rencontrer des situations où vous devez convertir une rune ( un entier représentant un caractère Unicode) en une chaîne. Cela peut prêter à confusion, car Go propose plusieurs approches pour cette tâche.

Utilisation de Scanner.Scan() (Incorrect)

Dans le code fourni, vous indiquez utiliser Scanner.Scan() pour convertir une rune en chaîne. Cependant, cette approche est incorrecte car Scanner.Scan() est destiné à des fins de lexing et ne renvoie pas directement le caractère runique. Au lieu de cela, il renvoie une constante indiquant le type de jeton (tel que scanner.Ident ou scanner.Int).

Utilisation de Scanner.Next() (Correct)

Pour Pour convertir correctement une rune en chaîne, vous devez plutôt utiliser Scanner.Next(). Cette fonction lit la rune suivante à partir de l'entrée et la renvoie sous forme d'entier. Vous pouvez ensuite utiliser la fonction strconv.QuoteRune() pour convertir la rune en chaîne.

var b scanner.Scanner
const a = `a`
b.Init(strings.NewReader(a))
c := b.Next()
fmt.Println(strconv.QuoteRune(c)) // Output: "'a'"
Copier après la connexion

Conversion directe d'une rune en chaîne

Si vous souhaitez simplement Pour convertir une seule rune en chaîne, vous pouvez utiliser une conversion de type. Rune est un alias pour int32 et Go prend en charge la conversion de valeurs entières en chaînes à l'aide de la fonction string() intégrée.

r := rune('a')
fmt.Println(string(r)) // Output: "a"
Copier après la connexion

Bouclage sur les runes

Pour parcourez les runes dans une chaîne, vous pouvez utiliser la construction for ... range. Cette technique renvoie à la fois l'index et la valeur de la rune pour chaque caractère de la chaîne.

for i, r := range "abc" {
    fmt.Printf("%d - %c (%v)\n", i, r, r)
}

// Output:
// 0 - a (97)
// 1 - b (98)
// 2 - c (99)
Copier après la connexion

Méthodes alternatives

D'autres méthodes de conversion de runes en chaînes incluent :

  • utf8.DecodeRuneInString() : Décode une seule rune codée en UTF-8 à partir de la chaîne fournie.
  • []rune() : Convertit une chaîne en tranche de runes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal