Maison > Article > développement back-end > Pourquoi est-ce que j'obtiens l'erreur « plus d'un caractère dans un littéral runique » lors de la vérification des nombres pairs ou impairs dans Go ?
Plus d'un personnage dans Rune Literal in Go
Question :
Un nouveau programmeur rencontre une erreur en essayant de déterminer si un nombre est pair ou impair. Ils reçoivent l'erreur « plus d'un caractère dans une rune littérale ». Pouvez-vous expliquer la cause première de ce problème ?
Réponse :
Dans Go, des guillemets simples sont utilisés pour les littéraux runiques, qui représentent des caractères Unicode simples. Dans le code fourni, le programmeur utilise des guillemets simples pour le spécificateur de format dans la fonction fmt.Printf, qui doivent plutôt être placés entre guillemets doubles. Voici le code corrigé :
package main import "fmt" func main() { var a int fmt.Printf("Enter the number: ") fmt.Scanf("%d", &a) if a%2 == 0 { fmt.Println("%d Is even number", a) } else { fmt.Println("%d is odd number", a) } }
Explication :
Dans Go, %d est un spécificateur de format utilisé pour imprimer des entiers. Cependant, lorsque des guillemets simples sont utilisés autour de lui, Go l'interprète comme un littéral runique. Étant donné que les runes ne peuvent représenter qu'un seul caractère, l'utilisation de %d entre guillemets simples est incorrecte.
Pour résoudre ce problème, des guillemets doubles doivent être utilisés autour du spécificateur de format pour indiquer qu'il s'agit d'une chaîne littérale et non d'une rune. littéral. Les littéraux de chaîne peuvent contenir plusieurs caractères, y compris des spécificateurs de format.
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!