我是围棋新手。我试图了解ioutil .ReadAll(r Reader,Capacity int64)方法内部发生了什么。在此方法内部,有如下一行:

buf := bytes.NewBuffer(make([]byte, 0, capacity))

但是的问题是字节包内有一个NewBuffer方法,仅带有参数,如:
func NewBuffer(buf []byte) *Buffer

我一次又一次地搜索了bytes软件包文档,但是找不到带有3参数的NewBuffer方法。

那么实际上是从哪里调用NewBuffer(make([] byte,int,int64))方法?

最佳答案

make([]byte, 0, capacity)返回一个新的 byte slice ([]byte),该 byte slice 初始化为长度0和容量capacity

换句话说,它可以帮助您在多行中查看它:

capacity := 100 // or whatever
var myBytes []byte = make([]byte, 0, capacity)
buf := bytes.NewBuffer(myBytes)

关于go - 在go lang字节包中找不到NewBuffer([] bytes,int,int64)方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35962922/

10-10 06:44