最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用go讀取gzip格式的壓縮包的操作

 更新時間:2020年12月22日 15:56:15   作者:robertkun  
這篇文章主要介紹了使用go讀取gzip格式的壓縮包的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

package main
// 引入所需包
import (
  "os"
  "compress/gzip"
  "io/ioutil"
  "fmt"
)
// gzip文件
var fn = "./113.200.251.66_1510825558_A6D39783B05943D8ACA64F397748CF1B_vdn.gz"
func main() {
  println(fn)
  // 打開本地gz格式壓縮包
  fr, err := os.Open(fn)
  if err != nil {
    panic(err)
  } else {
    println("open file success!")
  }
  // defer: 在函數(shù)退出時,執(zhí)行關閉文件
  defer fr.Close()
  // 創(chuàng)建gzip文件讀取對象
  gr, err := gzip.NewReader(fr)
  if err != nil {
      panic(err)
    }
  // defer: 在函數(shù)退出時,執(zhí)行關閉gzip對象
  defer gr.Close()
  // 讀取gzip對象內(nèi)容
  rBuf, err := ioutil.ReadAll(gr)
  if err != nil {
    fmt.Println("[read gzip data err]: ", err)
  }
  // 以文本形式輸出
  fmt.Printf("%s\n", rBuf)
}

輸出: ABCDEFG

補充:golang通過在線讀取請求url返回的zip內(nèi)部內(nèi)容

訪問url返回的zip包,怎么直接解析zip中的文件并獲取文件中的信息呢?

以前都是用java語言做這些事情,今天閑來蛋疼,用golang也實現(xiàn)了一下,效果已經(jīng)發(fā)布在我的公眾號:j全家桶---激活碼中。

引用了以下包:

"archive/zip"
"bufio"
"bytes"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"

1、通過http包內(nèi)部方法,請求了需要訪問的url,這次只是為了分享在線解析zip,所以地址就不寫出來了。

2、讀取字節(jié)流并新建一個讀卡器指定讀取大小,最好弄個延遲關閉流不然內(nèi)存泄露那是必須的。

3、接下來就是獲取zip中的信息,只需要遍歷一下讀取到的文件把數(shù)據(jù)取出來就行了

其實還是蠻簡單的,只是golang語言用得少,對于流的操作也比較少所以寫一個今天實現(xiàn)這個功能的總結(jié),點滴積累厚積薄發(fā)!

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • 詳解Golang中使用map時的注意問題

    詳解Golang中使用map時的注意問題

    Golang中的map是一種數(shù)據(jù)結(jié)構(gòu),它允許你使用鍵值對的形式存儲和訪問數(shù)據(jù),map在Go中是非排序的,提供了高效查找、插入和刪除元素的能力,特別是當鍵是不可變類型,本文給大家詳細介紹了Golang中使用map時的注意問題,需要的朋友可以參考下
    2024-06-06
  • Go語言中字符串四種拼接方式的性能對比

    Go語言中字符串四種拼接方式的性能對比

    在go語言中,字符串是不可變的,因此字符串之間的拼接實際上是創(chuàng)建了一個新的字符串,如果頻繁操作會對性能產(chǎn)生嚴重的影響,下面我們來看看Go語言中字符串四種常見拼接方式的性能對比吧
    2025-04-04
  • Golang基于JWT與Casbin身份驗證授權(quán)實例詳解

    Golang基于JWT與Casbin身份驗證授權(quán)實例詳解

    這篇文章主要為大家介紹了Golang基于JWT與Casbin實現(xiàn)身份驗證授權(quán)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 一文帶你掌握Golang中的值類型和引用類型

    一文帶你掌握Golang中的值類型和引用類型

    在?Golang?中,數(shù)據(jù)類型可以分為兩大類:值類型(Value?Types)和引用類型(Reference?Types),理解這兩種類型的區(qū)別對于理解?Golang?中的數(shù)據(jù)傳遞和內(nèi)存管理是很重要的,下面就跟隨小編一起深入了解一下它們吧
    2024-01-01
  • go交叉編譯sqlite報錯問題解決分析

    go交叉編譯sqlite報錯問題解決分析

    這篇文章主要為大家介紹了go交叉編譯sqlite報錯問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Golang語言JSON解碼函數(shù)Unmarshal的使用

    Golang語言JSON解碼函數(shù)Unmarshal的使用

    本文主要介紹了Golang語言JSON解碼函數(shù)Unmarshal的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Go語言中配置實現(xiàn)Logger日志的功能詳解

    Go語言中配置實現(xiàn)Logger日志的功能詳解

    當我們正式開發(fā)go程序的時候,就會發(fā)現(xiàn)記錄程序日志已經(jīng)不是fmt.print這么簡單了,所以我們需要專門的去存儲日志文件,這篇文章主要介紹了在Go語言中配置實現(xiàn)Logger日志的功能,感興趣的同學可以參考下文
    2023-05-05
  • golang使用DockerFile正確用法指南

    golang使用DockerFile正確用法指南

    docker在開發(fā)和運維中使用的場景越來越多,作為開發(fā)人員非常有必要了解一些docker的基本知識,而離我們工作中最近的也就是對應用的docker部署編排了,這篇文章主要給大家介紹了關于golang使用DockerFile的正確用法指南,需要的朋友可以參考下
    2024-03-03
  • Go語言實現(xiàn)超時的三種方法實例

    Go語言實現(xiàn)超時的三種方法實例

    超時在一些業(yè)務場景里非常普遍,下面這篇文章主要給大家介紹了關于Go語言實現(xiàn)超時的三種方法,文中通過實例代碼介紹的非常詳細,對大家學習或者使用Go語言具有一定的參考學習價值,需要的朋友可以參考下
    2022-07-07
  • Golang中下劃線(_)的不錯用法分享

    Golang中下劃線(_)的不錯用法分享

    golang中的下劃線表示忽略變量的意思,也沒有產(chǎn)生新的變量,但是后面的表達式依然會被執(zhí)行,本文為大家整理了golang中下劃線的一些不錯的用法,需要的可以參考下
    2023-05-05

最新評論

彭州市| 万载县| 阿坝县| 祁门县| 朝阳区| 馆陶县| 绥芬河市| 宜丰县| 平湖市| 于都县| 禄劝| 西安市| 山西省| 柯坪县| 左贡县| 阳东县| 阳江市| 收藏| 来安县| 思茅市| 玛纳斯县| 武城县| 新竹市| 靖西县| 莱芜市| 英超| 鄂伦春自治旗| 甘谷县| 三台县| 姚安县| 福安市| 美姑县| 德州市| 句容市| 蒙自县| 宜丰县| 屏东县| 上饶县| 迭部县| 太仓市| 泗水县|