您可以使用进行此操作
os.Stdin.Stat()。
package mainimport ( "fmt" "os")func main() { fi, _ := os.Stdin.Stat() if (fi.Mode() & os.ModeCharDevice) == 0 { fmt.Println("data is from pipe") } else { fmt.Println("data is from terminal") }}(改编自https://www.socketloop.com/tutorials/golang-check-if-os-stdin-input-data-
is-piped-or-from-terminal)



