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

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

青灯夜游
リリース: 2022-12-26 17:51:03
オリジナル
4683 人が閲覧しました

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

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