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

目次

フロー制御ステートメント

if ステートメント

if...else ステートメント

switch ステートメント

for ループ

ブレークステートメント

継続ステートメント

goto ステートメント


フロー制御ステートメント

if ステートメント

Go言語ではifの後に実行文を追加することができ、実行文を使ってif条件を判定することもできます。その構文形式は次のとおりです。

if a := condition(); a == nil {
    //代码块
}

aにcondition()メソッドの結果を代入し、aとnilを判定させ、trueの場合はコードブロック内のコードが実行され、そうでない場合は実行されず、aのスコープのみが実行されます。このステートメントの範囲内に含まれます。

if...else ステートメント

2 番目の分岐がある場合は、上のコードの上に else ステートメントと別のコード ブロックを追加できます。このコード ブロック内のコードは、条件が満たされない場合にのみ実行されます。if と else の 2 つのコード ブロックは独立した分岐であり、そのうちの 1 つだけを実行できます。構文形式は次のとおりです。

if condition {
    //代码块
} else {
    //代码块
}

switch ステートメント

switch ステートメントは複数分岐の選択に使用されますが、Go 言語の switch ステートメントは他の言語に比べて汎用的であり、式の値は定数である必要はなく、整数である必要もありません。その構文形式は次のとおりです。

switch expression {
    case value1:
        //代码块
    case value2:
        //代码块
    default:
        //代码块
}

式は式であり、値 1、値 2 などが考えられる値です。式がいずれかの値と等しい場合、対応するコード ブロックが実行されます。どれも一致しない場合は、デフォルトのコード ブロックが実行されます。

Go 言語では、case と case は独立したコード ブロックであり、デフォルトでは各 case にブレークが付いているため、ユーザーがブレークを記述する必要はありません。実行後に各ケースを自動的に終了する必要がない場合は、フォールスルーを使用して、実行されていないケース コードを強制的に実行できます。

d := 2
switch d {
    case 1:
        fmt.Print("星期一")
    case 2:
        fmt.Print("星期二")
        fallthrough
    case 3:
        fmt.Print("星期三")
    default:
        //代码块
}

出力結果は火曜日と水曜日です

for ループ

for ステートメントはループ処理に使用されるステートメントであり、その文法形式は次のとおりです。

for initialization; condition; post {
    //代码块
}

initialization は初期化ステートメント、condition はループ条件、post は各ループの終了後に実行されるステートメントです。条件が true の場合、コード ブロック内のコードが実行され、次に post ステートメントが実行され、条件が true かどうかが再度判断され、条件が false になるまで繰り返されます。

無限ループ:

for {
    //代码块
}

式 2 が省略された場合、これは無限ループとなり、ループから抜け出すために Break ステートメントが使用されない限り、コード ブロック内のコードは常に実行されます。

ブレークステートメント

Go 言語の Break ステートメントは、ループまたはスイッチのコード ブロックから飛び出すことができます。また、ブレークの後にラベルを追加して、特定のラベルで指定されたコード ブロックを終了することもできます。その構文形式は次のとおりです。

for condition {
    //代码块
    if condition2 {
        break
    }
}

条件 2 が満たされると、ループから抜け出します。

継続ステートメント

continue ステートメントは、現在のループをスキップして次のループに入るために使用され、for ループ内で使用できます。その構文形式は次のとおりです。

for condition {
    //代码块
    if condition2 {
        continue
    }
}

条件 2 が満たされると、現在のサイクルがスキップされ、次のサイクルが開始されます。

goto ステートメント

Go 言語では、goto を使用してラベルをジャンプしたり、コード間をジャンプしたりできます。その構文形式は次のとおりです。

label:
//代码块
goto label

ここで、 label は識別子であり、任意の文字列を使用できます。goto ステートメントが実行されると、指定されたラベルにジャンプしてコードが実行されます。goto ステートメントの使用は、コードの可読性と保守性の低下につながりやすいため、可能な限り避ける必要があることに注意してください。

おすすめ

転載: blog.csdn.net/weixin_71646897/article/details/130551146