Go(Golang)における「標準入力/出力の使用」は、ユーザーとのやり取りや外部データの読み書きを行う際に非常に重要です。以下に、標準入力(stdin)、標準出力(stdout)、標準エラー出力(stderr)の基本的な使用方法について詳しく説明します。
1. 標準出力(fmtパッケージ)
標準出力は通常、コンソール画面にデータを表示するために使用されます。fmtパッケージを使って出力します。
例
主な関数
-
fmt.Print(...):改行なしで出力 -
fmt.Println(...):改行付きで出力 -
fmt.Printf(...):フォーマット付き出力
2. 標準入力(fmt.Scan / bufio.Scanner)
標準入力は、ユーザーからの入力を受け取るために使用します。
方法①:fmt.Scan / Scanln / Scanf
-
Scanln:スペースで区切られた入力を1行として読み取る -
Scanf:フォーマット付きで読み取る(C言語のscanfに類似)
方法②:bufio.Scanner(複数行や空白を含む入力に有効)
-
scanner.Scan():次の入力があるかどうかを確認 -
scanner.Text():入力内容を文字列として取得
3. 標準エラー出力(os.Stderrとfmt.Fprintln)
エラーを標準出力ではなく標準エラー出力に出したい場合は以下のようにします。
まとめ
| 操作 | 方法例 |
|---|---|
| 標準出力 | fmt.Print, fmt.Println, fmt.Printf |
| 標準入力① | fmt.Scan, fmt.Scanln, fmt.Scanf |
| 標準入力② | bufio.NewScanner(os.Stdin) |
| エラー出力 | fmt.Fprintln(os.Stderr, ...) |
Go言語では標準ライブラリで簡潔にI/O処理が行えるよう設計されています。用途に応じてfmtとbufioを使い分けることで、柔軟な入力/出力処理が可能です。
生成日:2025/05/03