ホームページ >バックエンド開発 >Golang >Go で空行が `input.Scan()` をトリガーして False を返すことはできますか?

Go で空行が `input.Scan()` をトリガーして False を返すことはできますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-11 06:07:02676ブラウズ

Can Empty Lines Trigger `input.Scan()` to Return False in Go?

Input.Scan() からの脱却

Go では、input.Scan() 関数は、一般的に、コンソール。質問で提供されたコードは効果的に機能しますが、作成者はループから抜け出すためにキーワード「end」をチェックする if 節を削除する方法を模索しました。

ドキュメントによると、Scan()入力の終わりに達するかエラーが発生してスキャンが停止すると、 false を返します。ただし、作成者の理解は、空の行は false の戻りをトリガーする必要があるため、if 節を必要とせずにループを終了する必要があるということでした。

調べてみると、提供されたコードで使用されているデフォルトのスキャナーは実際には ScanLines でした。 、ScanWordsではありません。 ScanLines は、行末を除いたテキストの各行を返します。空行が含まれる場合もあります。重要なのは、入力の空でない最後の行は、行末がない場合でも返されることです。

スキャナは、EOF (ファイルの終わり) に達した場合にのみ動作を停止します。したがって、ユーザーが入力の終了を示す「end」を入力したときにループを終了するには、元のコードの if 節が依然として必要です。

以上がGo で空行が `input.Scan()` をトリガーして False を返すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。