如何存储一片字节片?

问题描述:

我想了解如何分别在一个切片中存储几个字节切片。正如下面所示,我希望存储结构存储在buf中找到的n的压缩结果的结果。如何存储一片字节片?

type storage struct 
{ 
    compressed []byte 
}  

func (s* storage) compress(n []byte) { 
     var buf bytes.Buffer 
     w := gzip.NewWriter(&buf) 
     w.Write(n) 
     w.Close() 
     store := buf.Bytes() 
     s.compressed = append(s.compressed, store) 
} 

在您的代码中compressed是一段字节。如果你想存储一些字节,你需要一部分字节。因此,请将compressed的类型更改为[][]byte

+0

否则,如果它应全部追加到同一片上,请使用's.compressed = append(s.compressed,store ...)'。请注意最后一个参数后面的省略号。这会将'store'片断解包成一个单独的字节列表,每个字节都是一个单独的参数给append。 – jimt

+0

谢谢。很高兴知道。我以为我真的尝试过,但我会再试一次:) – stian