ホーム プログラミング言語 golang golang flow control Go 言語 if else (ブランチ構造)

Go 言語 if else (ブランチ構造)


 
 
Go 言語では、キーワード if は特定の条件 (ブール型または論理型) をテストするために使用されるステートメントです。条件が true の場合、if の後に中括弧{}で囲まれたコード ブロックが実行され、それ以外の場合はコード ブロックが実行されます。コード ブロックは引き続き後続のコードを実行します。

 

if 条件 {
    // 何かを実行する
} 

2 番目の分岐がある場合は、上記のコードに基づいて else キーワードと別のコード ブロックを追加できます。このコード ブロックのコードは、条件が満たされない場合にのみ実行されます。if と else の後の 2 つのコード ブロックは独立したブランチであり、そのうちの 1 つだけを実行できます。

if condition の場合 {
    // 何かを行う
} それ以外の場合 {
    // 何かを行う
} 

3 番目のブランチがある場合は、次の形式の 3 つの別個のブランチを使用できます。

if condition1なら {
    // 何かをする
} else もしcondition2なら {
    // 別の何かをする
} それ以外なら {
    // キャッチオールまたはデフォルト
} 

else if 分岐の数に制限はありませんが、コードの読みやすさを考えると、if の後に else if 構造を追加しすぎない方が良いです。この形式を使用する必要がある場合は、満たされる条件を入れるようにしてください。まずはできるだけ。

キーワード if および else {の後の左中括弧は、キーワードと同じ行になければなりません。else if 構造を使用する場合は、前のコード ブロックの右中括弧} 、else if キーワードと同じ行になければなりません。 、これら 2 つのルールはコンパイラによって強制されます。

不正な Go コード:

if x{
}
else { // 無効
} 

gofmt を使用してコードをフォーマットした後、各ブランチのコードは 4 つまたは 8 つのスペース、または 1 つのタブでインデントされ、右中かっこ}は対応する if キーワードと垂直に揃えられることに注意してください。

場合によっては、条件ステートメントの周囲のかっこを省略できます。条件がより複雑な場合は、かっこを使用してコードを読みやすくすることができます。&&、||、または ! を使用する場合、かっこを使用して式の操作を促進できます。を優先し、コードの可読性を向上させます。

次の例を使用して、if の書き方を理解します。

var ten int = 11
if ten > 10 {
    fmt.Println(">10")
} else {
    fmt.Println("<=10")
} 

コード出力は次のとおりです。

>10

コードの説明は次のとおりです。

  • 行 1 では整数変数を宣言し、値 11 を割り当てます。
  • 2行目、10の値が10より大きい場合は3行目を実行、そうでない場合は4行目を実行します。
  • 行 3 と行 5 は、値がそれぞれ 10 より大きい場合と 10 以下の場合の出力を出力します。

特別な文言

if にも特殊な書き方があり、if 式の前に実行文を追加し、変数の値に応じて判断することができます。コードは次のようになります。

 err := Connect(); err != nil {
    fmt.Println(err)
    return
} 

Connect は戻り値のある関数、err:=Connect() はステートメントです。Connect の実行後、エラーを err 変数に保存します。

err != nil は if の判定式で、err が空でない場合はエラーを出力してリターンします。

この書き方では戻り値と判定を1行で処理でき、戻り値の範囲はif文とelse文の組み合わせに限定されます。

ヒント

プログラミングでは、変数のスコープが小さいほど、問題が発生する可能性は低くなります。各変数は状態を表します。状態がある場合、その状態は変更されます。関数のローカル変数は、関数の実行にのみ影響します。ただし、グローバル変数はすべてのコードの実行状態に影響を与える可能性があるため、変数の範囲を制限することはコードの安定性に非常に役立ちます。

 

「 Go 言語 if else (ブランチ構造)」についてわかりやすく解説!絶対に観るべきベスト2動画

Golang チュートリアル #9 – If, Else If, Else
GoLang If Else ステートメント制御フロー |初心者向けチュートリアル
https://www.youtube.com/watch?v=9S-wdm60wTQ&pp=ugMICgJqYRABGAHKBS0gR28g6KiA6KqeIGlmIGVsc2UgKOODluODqeODs-ODgeani-mAoCkmaGw9SkE%3D