ホームページ >バックエンド開発 >Golang >Go の「if...else」ステートメント内で宣言された変数にアクセスする方法

Go の「if...else」ステートメント内で宣言された変数にアクセスする方法

DDD
DDDオリジナル
2024-11-14 09:33:021005ブラウズ

How to Access Variables Declared Inside an `if...else` Statement in Go?

Go の変数スコープ

Go では、変数は特定のスコープ内で宣言する必要があります。 if...else ステートメント内で変数を宣言すると、そのスコープはそのステートメントに制限されます。これは、変数をステートメントの外で使用できないことを意味します。

次のコードを考えてみましょう。

if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er := http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er := http.NewRequest(r.Method, r.Uri, b)
}

このコードでは、変数 req と er が if... 内で宣言されています。 else ステートメント。これは、そのステートメント内でのみ使用できることを意味します。ステートメントの外では、変数は未定義です。

この問題を解決するには、以下に示すように、if...else ステートメントの外で変数を宣言できます。

var req *http.Request
var er error
if strings.EqualFold(r.Method, "GET") || strings.EqualFold(r.Method, "") {
    req, er = http.NewRequest(r.Method, r.Uri, b)
} else {
    req, er = http.NewRequest(r.Method, r.Uri, b)
}

Now 、変数 req と er は if...else ステートメントの外側で宣言されているため、関数全体で使用できます。

以上がGo の「if...else」ステートメント内で宣言された変数にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。