Golang を使用した開発プロセス中に、エラーが発生することがよくあります。そのうちの 1 つは「未定義: io.ReadAll」です。このエラーは主に、古いメソッドを使用することが原因で発生します。この記事では、このエラーを解決する方法について説明します。
まず、このエラーが発生する理由を見てみましょう。 golang1.15 より前は、io パッケージに ReadAll メソッドはありませんでした。このメソッドを使用すると、コンパイラによって「unknown: io.ReadAll」エラーが表示されます。
このエラーは次のコードで発生します:
package main import ( "fmt" "io" "strings" ) func main() { reader := strings.NewReader("Hello, Go!") data, err := io.ReadAll(reader) if err != nil { fmt.Println(err) } fmt.Println(string(data)) }
どうすればよいですか? golang バージョン 1.16 では、ReadAll メソッドが io パッケージに導入されました。この問題を解決するには、golang バージョンを 1.16 以降にアップグレードするだけで済みます。
アップグレードの手順は次のとおりです:
この問題は解決されました。修正されたコードは次のとおりです。
package main import ( "fmt" "io/ioutil" "strings" ) func main() { reader := strings.NewReader("Hello, Go!") data, err := ioutil.ReadAll(reader) if err != nil { fmt.Println(err) } fmt.Println(string(data)) }
これで、プログラムを通常どおり実行できるようになりました。
要約すると、「未定義: golang の io.ReadAll」エラーを解決するには 2 つの方法があります。golang のバージョンをアップグレードするか、ioutil.ReadAll を使用して io.ReadAll を置き換えます。この記事が読者のこの問題の解決に役立つことを願っています。
以上がgolangで「unknown: io.ReadAll」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。