我有一個結構Artifact和以下兩個感興趣的函數:type Artifact struct { Name string ZipFile io.ReadWriter}func New(name string, files []string, zipArchiveStream io.ReadWriter) *Artifact {}func (a *Artifact) Upload() error {}所以這就是問題所在:在傳遞之前io.ReadWriter,我使用的是文件名。我需要對 zip 文件執行三個操作:向其中添加必要的文件(即寫入)再讀一遍計算SHA256和(即Seek,Read)將其上傳到 S3 存儲桶(即查找、讀取)那么之前,當使用文件名時,我為每個操作打開、關閉、重新打開等。然而,我開始編寫單元測試,我意識到我的代碼并不是真正可測試的,所以我決定使用它io.ReadWriter,這樣我就可以在實際代碼使用中打開文件,并在測試中傳遞緩沖區?,F在的問題是,在讀取流后,需要重置其內部指針才能執行第二次讀取(即計算校驗和,然后上傳),但據我所知,流無法倒帶。我應該如何處理這個問題?因為我目前的方法似乎在概念上有些錯誤。
- 1 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消