How do I turn an io.Reader into a io.ReadCloser? [duplicate]

If you’re certain that your io.Reader doesn’t require any actual closing, you can wrap it with an ioutil.NopCloser.

Go 1.16 Update

As of version 1.16 ioutil.NopCloser is deprecated.

NopCloser has been moved to io:

stringReader := strings.NewReader("shiny!")
stringReadCloser := io.NopCloser(stringReader)

Go 1.15 and older

From the godoc:

NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r.

So we can apply it like:

stringReader := strings.NewReader("shiny!")
stringReadCloser := ioutil.NopCloser(stringReader)

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)