データ構造とアルゴリズム(Golang実装)(3)Golangフロー制御ステートメントの簡単な紹介

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

コンピュータプログラミング言語では、フロー制御ステートメントは非常に重要であり、マシンが何かを実行するタイミングを知って、数回実行できるようにします。主に条件文とループ文があります。

Golangループforは1種類のみ、判断は1種類のみifであり、特別なswitch条件付き選択ステートメントがあります。

まず、条件文

たとえば、次のとおりです。

    // 判断语句
    if a > 0 {
        fmt.Println("a>0")
    } else {
        fmt.Println("a<=0")
    }

ときa > 0、印刷a>0、または印刷a<=0条件にa > 0は括弧は必要ありません。

条件付きステートメントは、何をすべきか、そうでなければ何をすべきかを示します。

判断にはいくつかの形式があります。

if a > 0{

}

のみif

if a > 0{

}else{

}

もありifますelse

if a > 0{

}else if a == 0 {

}else{

}

途中で混ぜることができますelse if

中間条件が多すぎる場合は、switch条件ステートメントを使用できます

    num := 4

    switch num {
    case 3:
        fmt.Println(3)
    case 4:
        fmt.Println(4)
    case 5:
        fmt.Println(5)
    default:
        fmt.Println("not found")

この文caseが見つかった場合は、1人の審判case資格、その後、入力しcaseた命令が実行または入力されますdefault

上記num := 4はと入力しcase 4、数値4を出力して終了します。ある場合はnum := 5、数値5を出力して終了します。存在する場合num := 8、見つからない文字列が出力されます。

第二に、ループステートメント

ループステートメント:

    // 循环语句
    for i := 9; i <= 10; i++ {
        fmt.Printf("i=%d\n", i)
    }

それらの中にiはローカル変数があります。値は最初にループの前に割り当てられ9、次にi<=10条件が満たされているかどうかが判断されます。条件が満たされている場合はループ印刷が追加され1各ループの後に追加されます。つまりi++、条件が満たされているかどうかの判断を続けます。

フォームは次のとおりです。

    for 起始状态; 进入循环需满足的条件; 每次循环后执行的指令 {
    }

無限にループすることもできます:

    // 死循环语句
    a = 0
    for {
        if a >= 10 {
            fmt.Println("out")
            // 退出循环
            break
        }

        a = a + 1
        if a > 5 {
            continue
        } 

        fmt.Println(a)
    }

無限直接ループfor {}、その後、条件を再度追加する必要はありませんし、a>=10ループのタイムアウトを使用することができbreakてジャンプして示すためにfor {}、ためにa > 5我々は値をプリントアウトしたくない、あなたが使用することができcontinue、次の文をスキップfmt.Println(a)循環に進出もう一度、。

切片そして、字典データを循環するために使用することができます。


    e := []int64{1, 2, 3}                 // slice
    f := map[string]int64{"a": 3, "b": 4} // map

    // 循环切片
    for k, v := range e {
        fmt.Println(k, v)
    }

    // 循环map
    for k, v := range f {
        fmt.Println(k, v)
    }

スライスの走査の結果は次のとおりです。データの添え字、データ、および辞書の走査の結果:データのキー、データの値:

0 1
1 2
2 3
3 3

a 3
b 4
f 5

シリーズ記事エントリー

私は、スター陳思い、私が個人的に書かれているようこそ(Golangが達成)のデータ構造とアルゴリズムの記事で始まる、より親しみやすいGitBookを読むために

13件のオリジナル記事を公開 いいね!0 訪問96

おすすめ

転載: blog.csdn.net/m0_46803965/article/details/105563270