Maison  >  Article  >  développement back-end  >  Comment sortir d'une boucle `input.Scan()` en Go ?

Comment sortir d'une boucle `input.Scan()` en Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-10 14:28:03170parcourir

How to Break Out of an `input.Scan()` Loop in Go?

Échapper à l'énigme Input.Scan()

Dans le domaine de la programmation Go, la fonction input.Scan() se présente comme un facilitateur pour la récupération des entrées depuis la console. Cependant, lorsqu’il s’agit de sortir de la boucle d’entrée, un dilemme se pose pour les développeurs. L'absence de mot-clé "end" justifie un examen plus approfondi du code et de la documentation.

Selon la documentation, input.Scan() perpétue sa recherche d'entrée jusqu'à ce qu'il rencontre la fin de l'entrée ou une erreur . La notion de ligne vide terminant l'analyse intrigue les développeurs, ce qui amène à s'interroger sur la nécessité d'une clause « if » pour sortir de la boucle.

Pour résoudre cette énigme, plongeons-nous dans les subtilités du fonction du scanner par défaut : ScanLines. Cette fonction traite chaque ligne de texte qu'elle rencontre, en omettant les marqueurs de fin de ligne. Une ligne vide n'est pas alarmante car le scanner la renvoie placidement.

De plus, le scanner détient une arme secrète : récupérer la dernière ligne d'entrée non vide, même s'il lui manque une nouvelle ligne. Cette compétence garantit que le texte s'étendant au-delà de la largeur du terminal n'échappe pas à la portée du scanner. Cependant, une ligne vide ne signale pas la fin du flux.

Pour parvenir à la stratégie de sortie tant convoitée, les utilisateurs doivent utiliser une méthode alternative. Taper Ctrl-D, un symbole universel pour un scénario de fin de fichier, rompt la connexion et met fin au voyage du scanner.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn