在 Go 中,使用 os.Stdin 从原始标准输入读取应该会产生所需的结果,如图所示通过这个代码片段:
package main import "os" import "log" import "io" func main() { bytes, err := io.ReadAll(os.Stdin) log.Println(err, string(bytes)) }
当您执行 echo test stdin | 时go run stdin.go,程序应该毫无问题地打印测试 stdin。
如果遇到错误,提供您使用的代码将极大地帮助识别问题。
用于处理基于行的输入,您可以使用 bufio.Scanner:
import "os" import "log" import "bufio" func main() { s := bufio.NewScanner(os.Stdin) for s.Scan() { log.Println("line", s.Text()) } }
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3