亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我應該如何在 Go 中重用流?

我應該如何在 Go 中重用流?

Go
POPMUISE 2023-06-12 10:08:54
我有一個結構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 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

您是否考慮io.ReadWriteSeeker過使用該界面?

bytes.Reader工具Seek


查看完整回答
反對 回復 2023-06-12
  • 1 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號