golangで「unknown: io.ReadAll」エラーを解決するにはどうすればよいですか?

WBOY
リリース: 2023-06-25 10:01:53
オリジナル
2789 人が閲覧しました

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 以降にアップグレードするだけで済みます。

アップグレードの手順は次のとおりです:

  1. golang 公式 Web サイトから新しい golang バージョンをダウンロードしてインストールします。
  2. ターミナルに「go version」コマンドを入力して、アップデートが成功したかどうかを確認します。
  3. コード内の io.ReadAll を ioutil.ReadAll に置き換えます。

この問題は解決されました。修正されたコードは次のとおりです。

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート