Go を使用した標準入力 (Stdin) でのデータの可用性の確認
Go では、os パッケージは、標準入力ストリーム。ただし、読み取り可能なデータがない場合、このストリームはブロックされることがあります。入力ストリームにデータが存在するかどうかを判断するには、os.Stdin をファイルのように扱い、そのサイズをチェックできます。
解決策:
os として。 Stdin はファイルのように動作し、その Stat() メソッドを使用して、サイズなどのファイル情報を取得できます。以下に例を示します。
<code class="go">package main import ( "fmt" "os" ) func main() { file := os.Stdin fi, err := file.Stat() if err != nil { fmt.Println("file.Stat()", err) } size := fi.Size() if size > 0 { fmt.Printf("%v bytes available in Stdin\n", size) } else { fmt.Println("Stdin is empty") } }</code>
使用法:
このコードは、実行可能ファイル「パイプ」として使用できます:
<code class="bash">$ ./pipe Stdin is empty $ echo test | ./pipe 5 bytes available in Stdin</code>
最初の行では、パイプ実行可能ファイルが入力なしで実行され、空の標準入力と出力が生成されます。 空の。" 2 行目では、テキスト「test」が入力にパイプされ、これにより Stdin のサイズが増加し、出力が「Stdin で 5 バイト利用可能」に変わります。
以上がGo を使用して標準入力 (Stdin) でデータの可用性を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。