Input.Scan() からの脱却
Go では、input.Scan() 関数は、一般的に、コンソール。質問で提供されたコードは効果的に機能しますが、作成者はループから抜け出すためにキーワード「end」をチェックする if 節を削除する方法を模索しました。
ドキュメントによると、Scan()入力の終わりに達するかエラーが発生してスキャンが停止すると、 false を返します。ただし、作成者の理解は、空の行は false の戻りをトリガーする必要があるため、if 節を必要とせずにループを終了する必要があるということでした。
調べてみると、提供されたコードで使用されているデフォルトのスキャナーは実際には ScanLines でした。 、ScanWordsではありません。 ScanLines は、行末を除いたテキストの各行を返します。空行が含まれる場合もあります。重要なのは、入力の空でない最後の行は、行末がない場合でも返されることです。
スキャナは、EOF (ファイルの終わり) に達した場合にのみ動作を停止します。したがって、ユーザーが入力の終了を示す「end」を入力したときにループを終了するには、元のコードの if 節が依然として必要です。
以上がGo で空行が `input.Scan()` をトリガーして False を返すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。