os.Stdin与其他任何“文件”一样,因此您可以检查其大小:
package mainimport ( "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 Stdinn", size) } else { fmt.Println("Stdin is empty") }}我将其构建为“管道”可执行文件,其工作方式如下:
$ ./pipeStdin is empty$ echo test | ./pipe5 bytes available in Stdin



