golang的io包buffer - 举一反三 - 它主要用来干嘛的 - 与功能类似的几个包有什么不同

今天使用一个golang的验证码包

captcha.go里面有一个 

WriteImage(w io.Writer, id string, width, height int)

就很好奇这个io.writer的干嘛用的,是属于官方package的io的一个func

那么传参怎么传递呢 - 其实就是传递io.Writer的一个实现

而 bytes.buffer是其的一个实现,那么其参数类型可以等同于  *bytes.buffer 

传递参数如下

var content bytes.Buffer
captcha.WriteImage(&content, d.CaptchaID, 240, 80)

然后开始说道 bytes.Buffer 这个包

 看官方手册

https://studygolang.com/pkgdoc

Buffer是一个实现了读写方法的可变大小的字节缓冲

 常用的是 

Buffer.Writer - 写字节流进入一个变量 \ Buffer.Bytes 从一个变量按照字节的方式读取数据

 

 

posted @ 2020-11-11 10:37  许伟强  阅读(445)  评论(0)    收藏  举报