Maison  >  Article  >  développement back-end  >  Est-ce que `input.Scan()` nécessite une clause `if` pour gérer l'entrée « fin » ?

Est-ce que `input.Scan()` nécessite une clause `if` pour gérer l'entrée « fin » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-11 21:57:03880parcourir

Does `input.Scan()` Require an `if`-Clause to Handle

Rupture de input.Scan() sans clause if

Dans votre code, vous cherchez à éliminer la clause if qui gère l'entrée "fin". Examinons la documentation de input.Scan() pour clarifier si une clause if est nécessaire.

Selon la documentation, input.Scan() passe au jeton suivant et renvoie false à la fin de l'analyse, soit en raison pour arriver à la fin de la saisie ou à une erreur. Cependant, la fonction de division par défaut pour input.Scan() est ScanLines, qui renvoie chaque ligne de texte sans aucun marqueur de fin de ligne.

Deux points cruciaux à noter ici sont :

  1. ScanLines gère les lignes vides : Cela signifie qu'il renvoie les lignes vides comme jetons.
  2. La dernière ligne non vide est renvoyée sans nouvelle ligne : Si la dernière ligne d'entrée n'est pas vide, elle sera renvoyée même s'il lui manque une nouvelle ligne.

Par conséquent, taper une ligne vide (en appuyant sur Entrée) ne mettra pas fin au scanner. Il renverra simplement une ligne vide comme jeton. Le scanner ne cessera de fonctionner que lorsque :

  • La fin du fichier (EOF) est atteinte : Cela peut être réalisé en tapant Ctrl-D ou en utilisant une autre méthode pour signaler le fin de la saisie.
  • Une erreur se produit lors de la numérisation :C'est peu probable en version basique scénarios.

Sur la base de cette compréhension, il n'est pas nécessaire d'inclure une clause if pour vérifier les entrées vides. Le scanner sortira automatiquement de la boucle lorsque EOF est atteint.

Pour résumer, votre code continuera à fonctionner comme prévu, sortant de la boucle lorsque l'utilisateur tape « fin » ou atteint EOF, même sans la clause if.

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