ホームページ > バックエンド開発 > Golang > なぜ「if」はこの変数のスコープを変更するのでしょうか?

なぜ「if」はこの変数のスコープを変更するのでしょうか?

WBOY
リリース: 2024-02-05 23:57:11
転載
447 人が閲覧しました

为什么 `if` 改变了这个变量的范围

質問内容

こんな事があったら

ケース 1:

リーリー

ケース 2:

リーリー

私の質問は、なぜこの形式で使用すると変数 str のスコープが変わるのかということです

if str, err := m.something(); err != nil {
        return err
    }

fmt.println(str)  //str is undefined variable
ログイン後にコピー

正解


ifステートメント(およびforswitch)は次のとおりです。 暗黙的ブロック、言語仕様によれば、:=は宣言と代入に使用されます。 strif の後で使用できるようにするには、最初に変数を宣言してから、if ステートメントで値を代入します。 リーリー

以上がなぜ「if」はこの変数のスコープを変更するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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