doru52911 2016-03-12 20:29
浏览 170
已采纳

在go lang字节包中找不到NewBuffer([] bytes,int,int64)方法

I'm new in go language. I'm trying to understand what's happening inside ioutil.ReadAll(r Reader, capacity int64) method. Inside this method there is a line like:

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

But the problem is inside bytes package there is a NewBuffer method with only parameter like:

func NewBuffer(buf []byte) *Buffer

I searched bytes package documentation again and again but can't find NewBuffer method with 3 parameter.

So actually from where NewBuffer(make([]byte, int, int64)) method calling?

  • 写回答

2条回答 默认 最新

  • dougang7521 2016-03-12 20:34
    关注

    make([]byte, 0, capacity) returns a new byte slice ([]byte) initialized to length 0 and capacity capacity.

    In other words, it might help you to see it on multiple lines:

    capacity := 100 // or whatever
    var myBytes []byte = make([]byte, 0, capacity)
    buf := bytes.NewBuffer(myBytes)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写