ホームページ  >  記事  >  バックエンド開発  >  Go言語のジャンプステートメントとは何ですか?

Go言語のジャンプステートメントとは何ですか?

青灯夜游
青灯夜游オリジナル
2022-12-26 16:33:594637ブラウズ

jump ステートメントには次のものが含まれます: 1. Break ステートメントは、ループを終了するか、switch ステートメントを終了してプログラムがループ後にコードの実行を続行できるようにするために使用されます。構文は "break;" です。 continue ステートメントは、今回を終了するために使用されます。ループして次のループを開始する、構文は "Continue;"; 3. ラベルと組み合わせて、指定したラベル ステートメントにジャンプする、構文は "label:"; 4. goto文は、プログラム中の指定した行に無条件で移動するために使用します、構文「gotoタグ;... ...タグ:式;」。

Go言語のジャンプステートメントとは何ですか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Go フロー制御の Jump ステートメント

break ステートメントと continue ステートメント

その他 プログラミングと同様Go 言語では、break ステートメントによるループの抜け出しと continue ステートメントによる次のループへの開始をサポートしています。

break の基本的な使用例は、前のチュートリアルですでに説明しました。break のデフォルトのスコープは、ステートメントが配置されている最も内側のループ本体です:

arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        num := arr[i][j]
        if j > 1 {
            break
        }
        fmt.Println(num)
    }
}

たとえば、ここにある Breakその意味は、j > 1 の場合は最も内側のループを終了し、そうでない場合は現在の位置の数値を出力することです。

Continue は、残りのループ本体を無視して、次のループ処理に直接入るために使用されます。

arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        num := arr[i][j]
        if j > 1 {
            break
        } else {
            continue
        }
        fmt.Println(num)
    }
}

プログラムを次のように書き直すと、上記のコードは値を出力しません。ステートメントは後続のコードを無視し、次のループに直接進みます。

tag

Go 言語と他の言語における Break と continue の違いは、指定されたタグ ステートメントにジャンプするためのタグとの組み合わせをサポートしていることです。これら 2 つ ステートメントのデフォルトのジャンプ ロジックであるラベル ステートメントは、 タグを通じて宣言されます::

arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}
ITERATOR1:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        num := arr[i][j]
        if j > 1 {
            break ITERATOR1
        }
        fmt.Println(num)
    }
}

このようにして、最初に現在のループ本体を終了した Break ステートメントは、次のループにジャンプします。 ITERATOR1 ラベルの対応する位置なので、対応する出力結果は次のようになります:

1
2

この時点で、break は外側のループから直接飛び出すため、break が継続するように変更された場合、出力結果は次のようになります:

1
2
4
5
7
8

goto ステートメント

goto ステートメントはほとんどの言語学者によって反対されており、コード ロジックで混乱を引き起こしやすいため、誰もが使用しないように警告されています。見つけにくいバグにつながります。ただし、Go 言語はまだ goto キーワードをサポートしています。goto ステートメントのセマンティクスは非常に単純で、この関数内の特定のラベルにジャンプします。

arr := [][]int{{1,2,3},{4,5,6},{7,8,9}}

for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        num := arr[i][j]
        if j > 1 {
            goto EXIT
        }
        fmt.Println(num)
    }
}   

EXIT:
fmt.Println("Exit.")

When the first time j > 1 条件の場合、コードは EXIT タグで指定された場所にジャンプし、後続のコードの実行を続行するため、上記のコードの出力は次のようになります:

1
2
Exit.

[関連する推奨事項: Go ビデオ チュートリアル プログラミング教育 ]

以上がGo言語のジャンプステートメントとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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