Go で初期 stdin から読み取る方法
Go では、OS を使用してプログラムの初期 stdin から読み取ることができます。標準入力インターフェース。ただし、os.Stdin に入力がない場合、プログラムは入力を待ちます。
解決策:
推奨されるアプローチは、os.Stdin をそのまま使用することです。元の stdin から読み取るためのシンプルで信頼性の高い方法を提供します。 os.Stdin を使用するには、単に io.ReadAll() 関数を呼び出して、入力からすべてのバイトを読み取ります。
次に例を示します。
package main import "os" import "log" import "io" func main() { bytes, err := io.ReadAll(os.Stdin) log.Println(err, string(bytes)) }
echo test stdin | で実行した場合stdin.go を実行します。このコードはテスト stdin を出力します。
行ベースの読み取りには、bufio.Scanner を使用できます。
import "os" import "log" import "bufio" func main() { s := bufio.NewScanner(os.Stdin) for s.Scan() { log.Println("line", s.Text()) } }
以上がGo で標準入力 (stdin) から読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。