How can I read a whole file into a string variable

WoooHaaaa picture WoooHaaaa · Nov 22, 2012 · Viewed 130.9k times · Source

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?

Answer

zzzz picture zzzz · Nov 22, 2012

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)