Conversion d'une rune en chaîne dans Golang
Pour convertir une rune en chaîne, vous pouvez utiliser la fonction strconv.QuoteRune(). Cependant, dans votre code, vous utilisez scanner.Scan() pour lire une rune, ce qui est incorrect.
La fonction scanner.Scan() lit les jetons ou les runes de jetons spéciaux contrôlés par Scanner.Mode masque de bits. Il ne renvoie pas la rune elle-même mais des constantes spéciales du package texte/scanner.
Pour lire une seule rune, utilisez plutôt Scanner.Next(). Voici le code corrigé :
package main import ( "fmt" "strconv" "strings" "text/scanner" ) func main() { var b scanner.Scanner const a = `a` b.Init(strings.NewReader(a)) c := b.Next() fmt.Println(strconv.QuoteRune(c)) }
Sortie :
'a'
Alternativement, vous pouvez convertir directement une rune en chaîne en utilisant la conversion de type, car la rune est un alias pour int32 :
r := rune('a') fmt.Println(string(r))
Sortie :
a
Pour plus de commodité, vous pouvez parcourir les runes d'une chaîne en utilisant la construction for ... range :
for _, r := range "abc" { fmt.Println(string(r)) }
Sortie :
a b c
Vous pouvez également convertir une chaîne en une tranche de runes en utilisant [] rune():
runes := []rune("abc") fmt.Println(runes) // Output: [97 98 99]
Enfin, vous pouvez utiliser utf8.DecodeRuneInString() pour extraire une rune d'un chaîne.
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!