Go では、入力ストリーム (OS) かどうかを確認する信頼できる方法はありますか? .Stdin) にはデータが含まれていますか?
データが利用できない場合にストリームから読み取る従来のアプローチはブロックされるため、特定の用途では実用的ではありませんcase.
他のファイルと同様に、os.Stdin を検査してサイズを判断でき、データの可用性を検出する便利な方法を提供します。
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")
}
}
この手法を利用すると、空の stdin 入力と空でない stdin 入力を区別でき、データの可用性をより柔軟に処理できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3