一、golang压缩包解析
参考:http://t.csdnimg.cn/suBTx,感谢此文章作者,立此博客以整理golang领域技术笔记,也可帮助更多开发者解决问题,希望可以帮助到你。
二、使用步骤
1.引入库
代码如下(示例):
import (
"github.com/mholt/archiver"
)
https://github.com/mholt/archiver
2.代码示例
代码如下(示例):
package util
import (
"github.com/mholt/archiver"
)
// source文件目录 destination解压路径 fileType 文件类型(zip、gz、tgz、rar)
func (base *Compressed) Unpackage(source, destination, fileType string) (err error) {
switch fileType {
case "zip":
r := archiver.NewZip()
if err := r.Unarchive(source, destination); err != nil {
fmt.Println("Unarchive err", err)
return err
}
case "gz":
r := archiver.NewTarGz()
if err := r.Unarchive(source, destination); err != nil {
fmt.Println("Unarchive err", err)
return err
}
case "tgz":
r := archiver.NewTarGz()
if err := r.Unarchive(source, destination); err != nil {
fmt.Println("Unarchive err", err)
return err
}
case "rar":
r := archiver.NewRar()
if err = r.Unarchive(source, destination); err != nil {
fmt.Println("Unarchive err", err)
return err
}
}
return
}