在 Go 中,是否有可靠的方法来检查输入流(os .Stdin) 包含数据?
当没有可用数据时从流块中读取数据的传统方法,对于某些用例来说是不切实际的。
类似于其他文件,可以检查 os.Stdin 以确定其大小,为数据可用性检测提供一种便捷的方法。
<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>
通过利用此技术,您可以区分空和非空 stdin 输入,从而允许更灵活地处理数据可用性。
以上是有没有办法在不阻塞的情况下检查Go中的标准输入(os.Stdin)是否有数据?的详细内容。更多信息请关注PHP中文网其他相关文章!