Go で使用されない変数
Go プログラミングでは、宣言された変数を利用することが不可欠です。コードのスコープ内で未使用のままの変数を宣言すると、「エラーが宣言され、使用されていません」というコンパイル エラーが発生することがあります。このエラーは、シャドウイングの問題を示すものではありません。
指定されたコード スニペット内:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
このエラーは、未使用の err 変数が原因で発生します。宣言されていますが、getThings() の呼び出し中に値が割り当てられるだけで、それ以降は使用されません。
Go の FAQ によると、「未使用の変数の存在はバグを示している可能性があります。」変数を使用しないと、コンパイルとビルドの時間が遅くなる可能性があります。したがって、Go では、宣言されたすべての変数を使用する必要があります。
エラーを解決するには、err 変数宣言を削除するか、_:
package main import ( "fmt" ) func main() { var ( _ error dto = make(map[string]interface{}) ) dto[`thing`], _ = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
に代入します。あるいは、エラー チェックに err を利用します。
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() if err != nil { fmt.Println(err) return } fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
未使用のグローバル変数や関数の引数があっても構いませんが、変数を利用することが不可欠ですコンパイル時のエラーを避けるために関数スコープ内で宣言されています。
以上がGo で「err Declared and Not Used」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。