在 Go 中,有没有可靠的方法来检查输入流(os .stdin) 包含数据?
当没有数据可用时从流块中读取的传统方法,对于某些用例来说是不切实际的。
类似于其他文件,可以检查 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 输入,从而更灵活地处理数据可用性。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3