如何在 Go 中讀取初始 stdin
在 Go 中,可以使用 os.stdin 來讀取程式的初始 stdin。標準輸入接口。但是,如果 os.Stdin 中沒有輸入,程式將等待輸入。
解決方案:
建議的方法是使用 os.Stdin提供了一種簡單可靠的方法來讀取原始標準輸入。要使用 os.Stdin,只需呼叫 io.ReadAll() 函數即可從輸入中讀取所有位元組。
這是一個範例:
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()) } }
以上是如何在 Go 中讀取標準輸入(stdin)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!