【Go】multiple-value in single-value context

たまにこんなエラーが出て戸惑いました。
あんまり調べなかったせいか、ググってもよくわからなくて引数かな?とか考えてたら全然違ってました。

結論から言うと、返り値が2つなのに1変数しか受取ろうとしてないぞ!
っていうエラーでした。

アホ過ぎて、よく調べろよ!っと自分に言いたくなったので書いておきます....。

ちなみに状況

エラー状況

ちなみにですが、自分のエラーが出た状況は下記です。
ファイルを読み込みたかったんですね。

gzFile := ioutil.ReadFile(file)

こんなエラーが出ます

multiple-value ioutil.ReadFile() in single-value context

「一つの値の中で複数の値になってるよ!」って感じでしょうかね。

ReadFileのドキュメント

ReadFile
ioutil - The Go Programming Language
をよく見るとちゃんと書いてありますね。

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

返り値は 「[]byte, error」の2つです。

正解

ちゃんとerror も受け取るように修正しました。

gzFile, err := ioutil.ReadFile(file)

まとめ

ドキュメントよく読めよ(自分)。。。

まあでももうちょっとエラー出力の内容がわかりやすくなってたらなあ。。。