在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中文網其他相關文章!