サークル内の興味深い制御フロー

PHPz
リリース: 2024-08-29 06:32:02
オリジナル
1121 人が閲覧しました

Interesting Control Flow in the circle

Go (Golang) では、制御フローは、条件文 (if、else)、ループ (for)、switch ステートメントなど、いくつかの基本的な構造を使用して管理されます。これらの構造が Go でどのように機能するかの概要を次に示します。

  1. 条件: if、else、else if Go では、条件に基づいてコードを実行するために if ステートメントが使用されます。他の言語とは異なり、Go では条件を括弧で囲む必要がありません。ただし、中括弧 {} は必須です。

基本的なステートメント

package main

import "fmt"

func main() {
    age := 20

    if age >= 18 {
        fmt.Println("You are an adult.")
    }
}

ログイン後にコピー

「if-else ステートメント」の例
`パッケージメイン

「fmt」をインポート

関数 main() {
年齢:= 16

if age >= 18 {
    fmt.Println("You are an adult.")
} else {
    fmt.Println("You are not an adult.")
}
ログイン後にコピー

}
`
「if-else if-else」ステートメント:

package main

import "fmt"

func main() {
    age := 20

    if age >= 21 {
        fmt.Println("You can drink alcohol.")
    } else if age >= 18 {
        fmt.Println("You are an adult, but cannot drink alcohol.")
    } else {
        fmt.Println("You are not an adult.")
    }
}

ログイン後にコピー

2.ループ:
用 Go はすべてのループ処理のニーズに「for」ループを使用します。 「while」やループはありません
基本的な 'for' ループ:

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}

ログイン後にコピー

「while」ループとしての「for」:

package main

import "fmt"

func main() {
    i := 0
    for i < 5 {
        fmt.Println(i)
        i++
    }
}

ログイン後にコピー

無限ループ:

package main

func main() {
    for {
        // This loop will run forever
    }
}

ログイン後にコピー

「範囲」を含む「for」ループ:
これは、スライス、配列、マップ、または文字列を反復処理するためによく使用されます。

package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}

    for index, value := range numbers {
        fmt.Println("Index:", index, "Value:", value)
    }
}

ログイン後にコピー
  1. Switch ステートメント Go Go の 'Switch' ステートメントは、実行する多くのコード ブロックから 1 つを選択するために使用されます。Go の 'switch' は他の言語よりも強力で、整数だけでなくあらゆるタイプの値で使用できます。

基本的な「スイッチ」

package main

import "fmt"

func main() {
    day := "Monday"

    switch day {
    case "Monday":
        fmt.Println("Start of the work week.")
    case "Friday":
        fmt.Println("End of the work week.")
    default:
        fmt.Println("Midweek.")
    }
}

ログイン後にコピー

ケース内で複数の式を使用したスイッチ:

package main

import "fmt"

func main() {
    day := "Saturday"

    switch day {
    case "Saturday", "Sunday":
        fmt.Println("Weekend!")
    default:
        fmt.Println("Weekday.")
    }
}

ログイン後にコピー

式のないスイッチは、if-else ステートメントのチェーンのように動作します。

package main

import "fmt"

func main() {
    age := 18

    switch {
    case age < 18:
        fmt.Println("Underage")
    case age >= 18 && age < 21:
        fmt.Println("Young adult")
    default:
        fmt.Println("Adult")
    }
}
ログイン後にコピー
  1. 延期、パニック、そして回復
package main

import "fmt"

func main() {
    defer fmt.Println("This is deferred and will run at the end.")
    fmt.Println("This will run first.")
}

ログイン後にコピー

パニックと回復

package main

import "fmt"

func main() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Recovered from panic:", r)
        }
    }()

    fmt.Println("About to panic!")
    panic("Something went wrong.")
}
ログイン後にコピー

以上がサークル内の興味深い制御フローの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!