#4 Goで学ぶ標準入力の基本
Goにおける標準入力の扱いは、シンプルさを重視するGoらしく、比較的わかりやすい書き方が用意されています。この記事では、Goで利用者からの入力を受け取る基本的な方法を解説します。
fmt.Scanを使う
Goで標準入力を扱うもっとも手軽な方法は、`fmt`パッケージにある`Scan`という機能を使うことです。
var name string
fmt.Print("名前を入力してください: ")
fmt.Scan(&name)
読み込んだ内容を入れたい変数の前に`&`という記号を付けるのが特徴です。これは、値そのものではなく「変数の場所」を教えるための書き方です。
bufioを使ったもう1つの方法
`fmt.Scan`は単語の区切り(スペース)までしか読み取れないため、スペースを含む文章をまるごと受け取りたい場合は、`bufio`という別のパッケージを使う方法が一般的です。
数値として受け取る
`fmt.Scan`は、変数の型に合わせて自動的に変換を試みてくれます。
var age int
fmt.Scan(&age)
ただし、数字ではない文字が入力された場合はエラーになるため、実際のプログラムではエラーの確認も合わせて行います。
Goならではの注意点
変数の前に付ける`&`という記号は、Goを学び始めたばかりの人にとって最初は意味がわかりにくいポイントです。これは「この変数の場所に、読み込んだ値を書き込んでください」とGoに伝えるための書き方だと理解しておくと納得しやすくなります。
まとめ
Goの標準入力は`fmt.Scan`で手軽に扱えますが、スペースを含む入力には`bufio`を使う必要があります。`&`の意味を理解しておくと、エラーにも落ち着いて対応できます。
本ページはプロモーションを含みます。
参考書籍(PR)
Goをもっと学びたい方には「Go言語入門」がおすすめです。
コメント
コメントを投稿