第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如果我的類型作為流沒有意義,我應(yīng)該實(shí)現(xiàn) io.Reader/io.Writer 嗎?

如果我的類型作為流沒有意義,我應(yīng)該實(shí)現(xiàn) io.Reader/io.Writer 嗎?

Go
繁華開滿天機(jī) 2023-07-26 13:30:37
io.Reader關(guān)于 zip 和/ 的問題io.Writer。據(jù)我了解,io/Reader/的目的之一io.Writer是流式傳輸。但是,如果我的類型“作為塊”沒有真正意義,我應(yīng)該實(shí)現(xiàn)其中之一嗎?更多細(xì)節(jié):可以說我有這個(gè)結(jié)構(gòu)。type MyZip struct {     file1, file2 []byte     }MyZip代表一個(gè)特定的結(jié)構(gòu)化拉鏈。舉例來說,它代表一個(gè) zip 文件,其中包含一個(gè)名為 的文件file1和一個(gè)名為 的文件file2。MyZip負(fù)責(zé)解析 zip 文件以將這兩個(gè)文件提取到兩個(gè)[]byte字段中。它還應(yīng)該以相反的方式處理(將這兩個(gè)[]byte字段轉(zhuǎn)換為兩個(gè)命名test1并test2存檔到 zip 文件中的文件)。據(jù)我了解,該包archive/zip不允許將 zip 文件解壓縮為流。我們必須將 zip 完全加載到內(nèi)存中或作為文件加載,然后再解壓縮。MyZip因此,為了完善我的問題,實(shí)現(xiàn)io.Reader/io.Writer來讀取/寫入最終的 zip 文件是否有意義?如上所述,由于我無法即時(shí)提取這兩個(gè)文件,因此我必須向該緩沖區(qū)添加某種緩沖區(qū),MyZip然后從該緩沖區(qū)讀取/寫入該緩沖區(qū)。因此 zip 無論如何都會在流式傳輸之前完全存儲在內(nèi)存中。io.Reader這是不使用/ 的計(jì)數(shù)器指示嗎io.Writer?非常感謝您的啟發(fā)!
查看完整描述

1 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

據(jù)我了解,該包archive/zip不允許將 zip 文件解壓縮為流。我們必須將 zip 完全加載到內(nèi)存中或作為文件加載,然后再解壓縮。

錯(cuò)誤的。是的,一些元數(shù)據(jù)需要加載到內(nèi)存中,但您不需要將所有內(nèi)容加載到內(nèi)存中。您可以從 zip 存檔中提取單個(gè)文件。

是的,zip.Readerandzip.Writer不實(shí)現(xiàn)io.Readerand?io.Writer,因?yàn)樗鼈儾皇亲止?jié)的單個(gè)源或目標(biāo)。但其中的文件確實(shí)如此。所以其中的文件實(shí)現(xiàn)了io.Readerio.Writer.?更具體地說,存檔中的文件由 表示zip.File,可以使用 來獲取io.Reader來獲取其(未壓縮的)內(nèi)容File.Open()。當(dāng)您使用eg向zip存檔添加新條目時(shí)Writer.Create(),它會返回一個(gè),io.Writer因?yàn)樗碜止?jié)目標(biāo),您可以將文件的內(nèi)容寫入其中。

回到你的 exmaple:MyZip也不代表字節(jié)的單個(gè)源或目的地,因此它本身實(shí)現(xiàn)io.Readeror沒有意義io.Writer,所以不要這樣做。與 類似archive/zip,其中的各個(gè)文件也可以這樣做。


查看完整回答
反對 回復(fù) 2023-07-26
  • 1 回答
  • 0 關(guān)注
  • 134 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號