首頁 >後端開發 >Golang >如何在 Go 中讀取標準輸入(stdin)?

如何在 Go 中讀取標準輸入(stdin)?

Susan Sarandon
Susan Sarandon原創
2024-12-17 07:40:24165瀏覽

How to Read from Standard Input (stdin) in Go?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn