在Go 中偵測STDIN 資料可用性
在程式碼中,您的目標是區分資料何時透過管道傳輸到STDIN 以及何時執行從終端。挑戰在於解決 ioutil.ReadAll() 的阻塞性質,當 STDIN 為空時,它會無限期地等待輸入。
解決方案:使用 os.ModeCharDevice
為了解決這個問題,我們可以利用 os.ModeCharDevice 來確定 STDIN 是否與終端或管道關聯。操作方法如下:
說明:
if (stat.Mode() & os.ModeCharDevice) == 0:檢查 STDIN 檔案模式是否未設定 os.ModeCharDevice 位元。
以上是如何偵測 Go 的 STDIN 輸入是來自管線還是終端機?的詳細內容。更多資訊請關注PHP中文網其他相關文章!