我有一個結(jié)構(gòu)Artifact和以下兩個感興趣的函數(shù):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 文件執(zhí)行三個操作:向其中添加必要的文件(即寫入)再讀一遍計算SHA256和(即Seek,Read)將其上傳到 S3 存儲桶(即查找、讀?。┠敲粗?,當使用文件名時,我為每個操作打開、關(guān)閉、重新打開等。然而,我開始編寫單元測試,我意識到我的代碼并不是真正可測試的,所以我決定使用它io.ReadWriter,這樣我就可以在實際代碼使用中打開文件,并在測試中傳遞緩沖區(qū)。現(xiàn)在的問題是,在讀取流后,需要重置其內(nèi)部指針才能執(zhí)行第二次讀?。从嬎阈r灪?,然后上傳),但據(jù)我所知,流無法倒帶。我應該如何處理這個問題?因為我目前的方法似乎在概念上有些錯誤。
- 1 回答
- 0 關(guān)注
- 143 瀏覽
添加回答
舉報
0/150
提交
取消