ホームページ >バックエンド開発 >Golang >Go の ReadString と ReadLine: テキスト入力にそれぞれをいつ使用する必要がありますか?

Go の ReadString と ReadLine: テキスト入力にそれぞれをいつ使用する必要がありますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-26 19:13:14847ブラウズ

ReadString vs. ReadLine in Go: When Should You Use Each for Text Input?

reader.ReadString と ReadLine

Go では、bufio.Reader は入力ソースからテキストを読み取るための 2 つのメソッド、ReadString と ReadLine を提供します。 。これらのメソッドは、行末の改行文字の処理方法が異なります。

ReadString

ReadString は、指定された区切り文字に遭遇するまで文字列を読み取ります。デフォルトでは、区切り文字は n (改行) であり、テキスト行全体が読み取られることを意味します。ただし、返された文字列から区切り文字は削除されません。質問で言及されているコード:

text, _ := reader.ReadString('\n')

テキスト変数には、改行文字を含む入力文字列が含まれます。したがって、「Alice」または「Bob」をチェックする場合、入力の末尾に改行文字があると比較が失敗します。

ReadLine

ReadLine は、改行文字。行内の文字を含むバイト スライスと、発生した問題を示すエラー値を返します。バイト スライスを文字列に変換するには、次のようにキャストする必要があります。

text, _, _ := reader.ReadLine()

ReadString の代わりに ReadLine を使用すると、改行文字がテキスト変数に含まれず、誤った比較の問題が解決されます。 .

代替解決策: 文字列のトリミング

もう 1 つの代替方法は、次を使用して入力文字列から改行文字を手動でトリミングすることです。 strings.TrimSpace 関数:

text = strings.TrimSpace(text)

これにより、改行を含む先頭と末尾の空白文字が削除され、明確な比較が保証されます。

以上がGo の ReadString と ReadLine: テキスト入力にそれぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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