介绍
怎么在Golang中使用zlib对字符串进行压缩和解压缩?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
zlib.NewWriter()只能传递[]字节类型数据只,NewWriterLevel可以传递压缩的等级。
package 主要 , import ( ,“bytes" ,“压缩/zlib" ,“fmt" ,“无力偿贷; ) , func main (), { var bytes.Buffer拷贝 ,b :=,[]字节(“xiorui.cc”) ,w :=, zlib.NewWriter (,) ,w.Write (b) ,w.Close () , var out bytes.Buffer ,r, _ :=, zlib.NewReader (,) ,io.Copy (,,, r) ,fmt.Println (out.String ()) , }
库包地址
<代码>进口“压缩/zlib" 代码>
写入
func NewWriter , func 才能;NewWriter (w io.Writer), *作家
读取压缩的数据
func NewReader , func 才能;NewReader (r io.Reader), (io.ReadCloser,错误)
设置压缩等级,并压缩数据
<代码> func NewWriterLevel (w。作家,水平int) (io。WriteCloser os.Error) 代码>
下面是几个级别。
const ( ,,,NoCompression =0 ,,,BestSpeed ,,=, 1 , ,,,BestCompression =, 9 ,,,DefaultCompression =1 ) , const ( NoCompression 才能,,,=flate.NoCompression BestSpeed 才能,,,,,=flate.BestSpeed ,,BestCompression =flate.BestCompression DefaultCompression 才能=flate.DefaultCompression )
写入数据
func (*作家),写作 , func 才能;(z *作家),写(p []字节),(n , int, err 错误)
关闭
func (*作家),关闭 , func 才能;(z *作家),关闭(),误差
看完上述内容,你们掌握怎么在Golang中使用zlib对字符串进行压缩和解压缩的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!