读写接口

编程

读的接口声明如下:

type Reader interface {

Read(p []byte) (n int, err error)

}

写接口声明如下:

type Writer interface {

Write(p []byte) (n int, err error)

}

结合compress/gzip包,我们来了解一下这两个接口。gzip中包括两个功能:压缩和解压缩。

解压缩的情况,gzip提供了gzip.Reader对象,用来从压缩的内容中读区被压缩前的原始内容。对象的创建函数如下:

func NewReader(r io.Reader) (*Reader, error) 

压缩的情况也类似:

func NewWriter(w io.Writer) *Writer 

对一个被gzip压缩的字符串,该如何转换为io.Reader/io.Writer呢? bytes包提供了Buffer对象,就实现了这两个接口。

拿压缩的情况j举例:

func gzip(src string) string {

srcBuffer := bytes.NewBuffer()

gzipWriter := gzip.NewWriter([]byte(src))

gzipWriter.Close()

return srcBuffer.String()

}

以上是 读写接口 的全部内容, 来源链接: utcz.com/z/514952.html

回到顶部