Skip to content

Instantly share code, notes, and snippets.

@tejainece
Created April 2, 2014 18:29
Show Gist options
  • Select an option

  • Save tejainece/9940151 to your computer and use it in GitHub Desktop.

Select an option

Save tejainece/9940151 to your computer and use it in GitHub Desktop.
Golang: io.Reader stream to string or byte slice
import "bytes"
func StreamToByte(stream io.Reader) []byte {
buf := new(bytes.Buffer)
buf.ReadFrom(stream)
return buf.Bytes()
}
func StreamToString(stream io.Reader) string {
buf := new(bytes.Buffer)
buf.ReadFrom(stream)
return buf.String()
}
@MheniMerz

Copy link
Copy Markdown

thank you that was very useful, but the problem with this code is that it is usable only once, i.e: if you read once the next time you have an empty output.

@mayu899

mayu899 commented Mar 22, 2019

Copy link
Copy Markdown

Nice code, better do aN err check for ReadFrom.
usable only once is because the nature of the steam

@luillyfe

luillyfe commented Dec 6, 2020

Copy link
Copy Markdown

๐Ÿ‘

@hybnew

hybnew commented Jan 13, 2021

Copy link
Copy Markdown

nice

@amanbolat

Copy link
Copy Markdown

io.Copy is much faster than using ReadFrom method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment