猿问

ioutil.ReadAll 替代方案,只消耗数据,不复制字节数组

从 a 调用mux.HandleFunc,我有一个http.Request.FormFilewhich 的类型multipart.File。我正在对浏览器的文件上传速度进行基准测试,所以我不需要验证数据。我目前的代码是:


fileBytes, err := ioutil.ReadAll(file)

if err != nil {

    fmt.Println(err)

}

return len(fileBytes)

ioutil.ReadAll制作不需要的副本。是否有其他方法可以验证我是否拥有所有数据而无需创建副本?


或者,我可以用什么代替len(fileBytes)?如果这应该在一个单独的问题中,您可以忽略它。


我试过什么

.ReadAll打电话来readAll电话bytes.Buffer.ReadFrom,io.Reader.Read我找不到。


繁星淼淼
浏览 1004回答 1
1回答

慕妹3242003

用于将不存储但丢弃数据io.Copy()的文件的内容复制到其中。复制直到到达 EOF(或发生错误),并返回复制的字节数:ioutil.Discardio.Copy()n, err := io.Copy(ioutil.Discard, file)
随时随地看视频慕课网APP

相关分类

Go
我要回答