golangのif文の基本的な使い方を紹介した記事

PHPz
リリース: 2023-04-25 14:54:06
オリジナル
1183 人が閲覧しました

golang の if 文は制御フローを実現するための基本構造です。この記事では、golang の if ステートメントの基本的な使用法と、一般的な拡張使用法をいくつか紹介します。

基本的な使い方

golang の if 文の基本的な構文は次のとおりです。

if condition {
    //执行条件满足时的代码块
} else if condition {
    //执行次优先级条件满足时的代码块
} else {
    //执行条件不满足时的代码块
}
ログイン後にコピー

このうち、condition は if 文の条件式を表します。変数、または関数値、式などの戻り値。

if ステートメントは、条件の値に基づいてコード ブロックを実行するかどうかを決定します。条件の値が true の場合は、対応するコード ブロックが実行され、条件の値が false の場合は、if ステートメント ブロックがスキップされ、次のステートメント ブロックが実行されます。したがって、if ステートメントは「条件ステートメント」と呼ばれることがよくあります。

以下は例です。

package main

import "fmt"

func main() {
    num := 10
    if num > 0 {
        fmt.Println("num is positive")
    } else if num < 0 {
        fmt.Println("num is negative")
    } else {
        fmt.Println("num is zero")
    }
}
ログイン後にコピー

この例では、変数 num を定義し、その値に基づいて正、負、ゼロのいずれであるかを判断し、対応する結果を出力します。

拡張使用法

golang では if ステートメントにも拡張使用法があり、コード ロジックをより柔軟に処理するのに役立ちます。以下に一つずつ紹介していきましょう。

  1. 変数は if の条件式で定義できます。

if ステートメントで変数を使用する必要があり、この変数の値が でのみ意味を持つ場合if ステートメントを使用すると、変数の定義を条件に移動できます。例:

if num := 5; num > 0 {
    //执行条件满足时的代码块
}
ログイン後にコピー

この例では、変数 num を定義し、それを if ステートメントの条件に配置します。この利点は、変数 num が if ステートメント内でのみ意味を持ち、外側のスコープを汚さないことです。

  1. if ステートメントは変数のスコープを短縮できます

golang では、変数のスコープは、変数が定義されている位置からステートメント ブロックの終わりまで始まります。変数を含む。 if ステートメントで変数を定義する場合、そのスコープはそのステートメント ブロック内のみになります。例:

package main

import "fmt"

func main() {
    num := 10
    if num > 0 {
        newNum := num * 2
        fmt.Println(newNum)
    }
    fmt.Println(num)
    fmt.Println(newNum) //编译错误:undefined: newNum
}
ログイン後にコピー

この例では、if ステートメントで変数 newNum を定義し、それに num の 2 倍の値を割り当てます。 newNum の有効範囲は if ステートメント内のみであるため、if ステートメントの外で newNum を使用するとコンパイル エラーが発生します。

  1. if 文は条件式を省略できます

if 文で条件式が不要な場合は省略できます。例:

if {
    //执行代码块
}
ログイン後にコピー

この書き方は次と同等です:

if true {
    //执行代码块
}
ログイン後にコピー

コード ブロックは常に実行されるため、これは明らかに意味がありません。ただし、一部の特殊なケースでは、条件式を省略するとコードがより簡潔で読みやすくなる場合があります。

  1. If ステートメントは switch ステートメントと混合できます

場合によっては、if ステートメントでより複雑な判断ロジックを使用する必要があります。このとき、ifの条件判定をswitch文で置き換えることができます。例:

package main

import "fmt"

func main() {
    num := 3
    switch {
    case num == 1:
        fmt.Println("num is 1")
    case num == 2:
        fmt.Println("num is 2")
    default:
        fmt.Println("num is not 1 or 2")
    }
}
ログイン後にコピー

この例では、switch ステートメントを使用して num の値を決定し、対応する結果を出力します。この書き方はより明確で読みやすくなり、コードはより簡潔になります。

概要

if ステートメントは、golang で制御フローを実装するための基本構造です。 if ステートメントの基本的な使い方と拡張的な使い方をマスターすることで、コードのロジックをより柔軟に扱い、より簡潔で読みやすいコードを書くことができます。

以上がgolangのif文の基本的な使い方を紹介した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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