Go 相當於Python 的「tail -f」-Like Generator
Python 的「tail -f」功能可以輕鬆擷取最後一個修改文件時的行。提出了類似功能的 Go 實現,並對其效率和慣用性質提出了擔憂。
Go 實作
提供的 Go 實作利用通道和 goroutine持續監視文件中的新行。雖然這種方法很實用,但它引起了對其性能和對 Go 編碼約定的遵守的擔憂。
慣用的 Go 方法
為了與 Go 的設計原則保持一致,有一種替代方法建議使用閱讀器的包裝器,即 tailReader。該包裝器引入了一個 Read 方法,該方法可以處理具有指定睡眠時間的 EOF。
透過建立 tailReader 實例並將其用作 io.Reader,可以使用各種函數和函式庫來處理文件。例如:
此外,tailReader 方法了
此外,tailReader 方法了
優點
以上是如何在 Go 中實作 Python 的「tail -f」功能:Goroutines 與 tailReader?的詳細內容。更多資訊請關注PHP中文網其他相關文章!