fmt.Scanln を使用したスペースで区切られた文字列の解析
スペースで区切られた複数の単語を含む文字列をユーザー入力から読み取ろうとすると、 fmt.Scanln は最初の単語のみを返す場合があります。この問題に対処するには:
fmt.Scanln について
fmt.Scanln は fmt.Scan と同様に動作しますが、改行文字に遭遇するとスキャンを終了します。改行文字は最後の項目の後に続くか、EOF (ファイルの終わり) インジケーターが存在する必要があります。
Scanln を使用してスペースで区切られた文字列を読み取る
Toスペースで区切られた文字列を正常に読み取るには、fmt.Scanln 呼び出しで複数の変数を指定します。
<code class="go">var s1 string var s2 string fmt.Scanln(&s1, &s2)</code>
このアプローチでは、最初の単語が s1 に割り当てられ、2 番目の単語が s2 に割り当てられます。
代替方法bufio.Scanner を使用したアプローチ
もう 1 つのオプションは、bufio.Scanner を使用することです。
<code class="go">scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { s := scanner.Text() fmt.Println(s) }</code>
ここでは、スキャナーは標準入力をループし、入力の各行を出力します。
以上がGoでユーザー入力からスペースで区切られた文字列を読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。