Reader.ReadString peut conserver les délimiteurs principaux
Dans Go, le comportement de bufio.Reader.ReadString peut différer lors de l'analyse des entrées. Considérez le scénario suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Ici, ReadString est utilisé pour lire les entrées de l'utilisateur et attend les noms terminés par un caractère de nouvelle ligne. Cependant, lorsque le nom saisi correspond à « Alice » ou « Bob », le programme refuse l'accès par erreur.
Cause et solution
Ce problème se pose car ReadString préserve les occurrences principales. du délimiteur (dans ce cas, 'n'). Lorsqu'un nom tel que "Alice" est saisi, la chaîne stockée dans le texte inclut à la fois "Alice" et une nouvelle ligne de fin. Ce caractère de nouvelle ligne supplémentaire empêche la comparaison de chaînes de correspondre à la valeur attendue.
Pour résoudre ce problème, envisagez les approches suivantes :
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!