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'"
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"
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)
Méthodes alternatives
D'autres méthodes de conversion de runes en chaînes incluent :
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!