HiveBrain v1.2.0
Get Started
← Back to all entries
snippetgoCritical

How can I read a whole file into a string variable

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
howwholevariablefilecanstringintoread

Problem

I have lots of small files, I don't want to read them line by line.

Is there a function in Go that will read a whole file into a string variable?

Solution

Edit: the ioutil package is now deprecated: "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details." Because of Go's compatibility promise, ioutil.ReadMe is safe, but @openwonk's updated answer is better for new code.

Old answer:

Use ioutil.ReadFile:

func ReadFile(filename string) ([]byte, error)


ReadFile reads the file named by filename and returns the contents. A successful call
returns err == nil, not err == EOF. Because ReadFile reads the whole file, it does not treat
an EOF from Read as an error to be reported.

You will get a []byte instead of a string. It can be converted if really necessary:

s := string(buf)

Code Snippets

func ReadFile(filename string) ([]byte, error)
s := string(buf)

Context

Stack Overflow Q#13514184, score: 386

Revisions (0)

No revisions yet.