首頁  >  文章  >  後端開發  >  如何偵測 Go 標準輸入 (Stdin) 中的資料可用性?

如何偵測 Go 標準輸入 (Stdin) 中的資料可用性?

Susan Sarandon
Susan Sarandon原創
2024-11-01 11:17:02451瀏覽

How to Detect Data Availability in Go's Standard Input (Stdin)?

使用Go 偵測標準輸入(Stdin) 中的資料可用性

在Go 中,可以使用以下技術檢查標準輸入流(os.Stdin) 中的資料驗證其檔案大小。它的工作原理如下:

os.Stdin 可以像任何常規文件一樣對待,允許我們檢查其屬性。為此,我們使用 os.Stdin.Stat() 檢索 FileInfo 物件。該物件提供了有關文件的各種信息,包括文件的大小。

透過檢查檔案大小,我們可以確定 Stdin 流是否包含資料。如果其大小大於零,則表示存在資料。相反,大小為零表示 Stdin 為空。

以下是示範此方法的程式碼範例:

<code class="go">package main

import (
    "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 Stdin\n", size)
    } else {
        fmt.Println("Stdin is empty")
    }
}</code>

此技術提供了一種有效的方法來確定os.Stdin 是否具有在等待輸入時不會阻塞程式的執行。當您需要動態處理來自外部來源或進程的傳入資料時,它特別有用。

以上是如何偵測 Go 標準輸入 (Stdin) 中的資料可用性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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