Breaking Out of Input.Scan()
Dans Go, la fonction input.Scan() est couramment utilisée pour lire les entrées du console. Bien que le code fourni dans la question fonctionne efficacement, l'auteur a cherché un moyen d'éliminer la clause if qui vérifie le mot-clé "end" pour sortir de la boucle.
Selon la documentation, Scan() renvoie false lorsque l'analyse s'arrête, soit en atteignant la fin de l'entrée, soit en rencontrant une erreur. Cependant, la compréhension de l'auteur était qu'une ligne vide devrait déclencher un retour de false, mettant ainsi fin à la boucle sans avoir besoin de la clause if.
Après examen, le scanner par défaut utilisé dans le code fourni est en fait ScanLines. , pas ScanWords. ScanLines renvoie chaque ligne de texte, débarrassée de toute fin de ligne et peut contenir des lignes vides. Il est important de noter que même la dernière ligne d'entrée non vide sera renvoyée, même s'il lui manque une fin de ligne.
Le scanner cesse de fonctionner uniquement lorsqu'il rencontre EOF (End Of File). Par conséquent, la clause if dans le code d'origine est toujours nécessaire pour terminer la boucle lorsque l'utilisateur entre "end" pour signifier la fin de la saisie.
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!