国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Golang 中的 archive/zip 包詳解(二):常用類型

這篇具有很好參考價值的文章主要介紹了Golang 中的 archive/zip 包詳解(二):常用類型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Golang 中的 archive/zip 包用于處理 ZIP 格式的壓縮文件,提供了一系列用于創(chuàng)建、讀取和解壓縮 ZIP 格式文件的函數(shù)和類型,使用起來非常方便。

zip.File 類型

定義如下:

type File struct {
	FileHeader
	zip          *Reader
	zipr         io.ReaderAt
	headerOffset int64 // includes overall ZIP archive baseOffset
	zip64        bool  // zip64 extended information extra field presence
}

表示一個 ZIP 文件中的單個文件的信息,文件的元數(shù)據(jù)信息,例如文件名、文件大小、修改時間等包含在?FileHeader 中,有兩個重要的方法:

  • func (f *File) DataOffset() (offset int64, err error),返回文件的可能存在的壓縮數(shù)據(jù)相對于 zip 文件起始的偏移量。
  • func (f *File) Open() (rc io.ReadCloser, err error),返回一個 io.ReadCloser 類型的對象,提供讀取文件內容的方法。

zip.FileHeader 類型

定義如下:

type FileHeader struct {
	Name string
	Comment string
	NonUTF8 bool
	CreatorVersion uint16
	ReaderVersion  uint16
	Flags          uint16
	Method uint16
	Modified time.Time
	ModifiedTime uint16
	ModifiedDate uint16
	CRC32 uint32
	CompressedSize uint32
	UncompressedSize uint32
	CompressedSize64 uint64
	UncompressedSize64 uint64
	Extra         []byte
	ExternalAttrs uint32 // Meaning depends on CreatorVersion
}

包含了文件在ZIP文件中的元數(shù)據(jù)信息,例如文件名、文件大小、修改時間等。

zip.Writer 類型

定義如下:

type Writer struct {
	cw          *countWriter
	dir         []*header
	last        *fileWriter
	closed      bool
	compressors map[uint16]Compressor
	comment     string

	// testHookCloseSizeOffset if non-nil is called with the size
	// of offset of the central directory at Close.
	testHookCloseSizeOffset func(size, offset uint64)
}

實現(xiàn)了一個 zip 文件寫入器。

zip.Reader 類型

定義如下:

type Reader struct {
	r             io.ReaderAt
	File          []*File
	Comment       string
	decompressors map[uint16]Decompressor

	// Some JAR files are zip files with a prefix that is a bash script.
	// The baseOffset field is the start of the zip file proper.
	baseOffset int64

	// fileList is a list of files sorted by ename,
	// for use by the Open method.
	fileListOnce sync.Once
	fileList     []fileListEntry
}

用于創(chuàng)建新的 ZIP 文件并將文件添加到其中。

zip.ReadCloser 類型

定義如下:

type ReadCloser struct {
	f *os.File
	Reader
}

用于讀取文件的內容,并在讀取完成后關閉文件。

zip.Compressor 類型

定義如下:

type Compressor func(w io.Writer) (io.WriteCloser, error)

返回一個用于壓縮用途的 io.WriteCloser 類型的對象。

zip.Decompressor 類型

定義如下:

type Decompressor func(r io.Reader) io.ReadCloser

返回一個用于解壓縮用途的 io.ReadCloser 類型的對象。文章來源地址http://www.zghlxwxcb.cn/news/detail-672420.html

到了這里,關于Golang 中的 archive/zip 包詳解(二):常用類型的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • linux 中常用的壓縮和解壓縮命令詳解(tar zip)

    linux 中常用的壓縮和解壓縮命令詳解(tar zip)

    在工作中,涉及到文件傳輸,為了減少文件的體積和傳輸?shù)臅r間,經(jīng)常會對文件進行壓縮,本文介紹了linux系統(tǒng)中常用的壓縮和解壓縮命令 .tar :簡單封裝,被稱為歸檔文件,只是簡單的將文件組裝到一個.tar的文件內,并沒有太多文件體積的減少,僅僅是簡單的封裝 .gz :壓

    2024年02月06日
    瀏覽(28)
  • Golang中的類型轉換介紹

    Golang中存在4種類型轉換,分別是:斷言、顯式、隱式、強制。下面我將一一介紹每種轉換使用場景和方法 主要是判斷變量是否可以轉換成某一類型。斷言主要用于變量是interface{}類型(接口類型)的情況,且變量值必須與要轉換類型一致??梢约毞譃?種使用方式 普通斷言

    2024年02月07日
    瀏覽(25)
  • linux下tar、gz、zip等常用解壓縮命令詳解

    tar是Unix和類Unix系統(tǒng)上的歸檔打包工具,可以將多個文件合并為一個文件,打包后尾綴.tar。目前,tar文件格式已經(jīng)成為POSIX標準,最初是POSIX.1-1988,目前是POSIX.1-2001。本程序最初的設計目的是將文件備份到磁帶上(tape archive 磁帶存檔),因而得名tar。 tar的命令格式: tar[必要

    2024年02月15日
    瀏覽(30)
  • Golang 中的反射,并用來獲取數(shù)據(jù)類型

    Go語言提供了一種機制在運行中獲取某個變量的類型,獲取或修改變量的值,調用變量的方法。 示例代碼如下 通過 reflect.Value 判斷變量類型,并轉換成 string 。 輸出結果: 輸出結果:

    2024年01月22日
    瀏覽(24)
  • Golang中接口類型詳解與最佳實踐(二)

    之前的文章《Golang中的interface(接口)詳解與最佳實踐》詳細介紹了接口類型的定義、使用方法和最佳實踐。接口類型使得編寫可擴展、可維護和可復用的高質量代碼變得更加容易。 還是使用之前文章的例子,例如聲明了如下一個接口MyInterface: 這個接口定義了兩個方法Method

    2024年02月03日
    瀏覽(19)
  • 標準庫unsafe:帶你突破golang中的類型限制

    本文分享自華為云社區(qū)《突破語言golang中的類型限制》,作者:碼樂。 在使用c語言編程時,常常因為類型的問題大傷腦筋,而其他語言比如java,python默認類型又是難以改變的,golang提供了一些方式用于喜歡hack的用戶。 官方說明標準庫 unsafe 包含繞過 Go 程序的類型安全的操

    2024年04月08日
    瀏覽(16)
  • 【前端下載文件流詳解】前端實現(xiàn)多種類型文件(word,excel,pdf,rar,zip等)的下載,接口返回文件流形式(附源碼)

    【前端下載文件流詳解】前端實現(xiàn)多種類型文件(word,excel,pdf,rar,zip等)的下載,接口返回文件流形式(附源碼)

    【 寫在前面 】其實之前我也寫了有關java實現(xiàn)文件的下載,但是當時是局限于excel文檔,針對其他類型的并沒有介紹,這次剛好有個客戶現(xiàn)場反饋回來的,說我們系統(tǒng)確實能下載報告,但是甲方領導要看所有的報告,這不我每天得一個一個的點擊下載,然后再打包給他們領導

    2023年04月24日
    瀏覽(35)
  • Golang中context包基礎知識詳解

    目錄 什么是context.Context? 如何構造context.Context對象? 衍生Context方法 使用context包需要注意的點 context.Context是Golang標準庫提供的接口(context包對此接口有多種實現(xiàn)),該接口提供了四個抽象法: Deadline方法,返回context.Context被取消的時間點,也就是需要完成任務的截止時間

    2024年02月02日
    瀏覽(22)
  • 100天精通Golang(基礎入門篇)——第5天: Go語言中的數(shù)據(jù)類型學習

    100天精通Golang(基礎入門篇)——第5天: Go語言中的數(shù)據(jù)類型學習

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學會IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批

    2024年02月08日
    瀏覽(34)
  • python基礎知識(二):變量和常用數(shù)據(jù)類型

    python基礎知識(二):變量和常用數(shù)據(jù)類型

    變量是值可以改變的量,其定義方法如下,通過賦值運算符將變量名和變量值連接: 例如: 其中將值\\\"Hello Python world!“通過賦值運算符”=\\\"賦值給變量message。 (1) 變量名只能包含字母、數(shù)字和下劃線。變量名可以字母或下劃線打頭,但不能以數(shù)字打頭,例如,可將變量命名為

    2024年02月06日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包