フロー制御ステートメント
コンピュータプログラミング言語では、フロー制御ステートメントは非常に重要であり、マシンが何かを実行するタイミングを知って、数回実行できるようにします。主に条件文とループ文があります。
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を読むために。
- データ構造とアルゴリズム(Golang実装)(1)Golang-Prefaceの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(2)Golangパッケージ、変数、関数の簡単な紹介
- データ構造とアルゴリズム(Golang実装)(3)Golangフロー制御ステートメントの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(4)Golang構造とメソッドの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(5)Golangインターフェースの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(6)Golang並行性、コルーチン、チャネルの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(7)Golang標準ライブラリの簡単な紹介
- データ構造とアルゴリズム(Golang実装)(8.1)基本的な知識-序文
- データ構造とアルゴリズム(Golang実装)(8.2)基本的な知識-分割と征服と再帰
- データ構造とアルゴリズム(Golang実装)(9)基本的な知識アルゴリズムの複雑さとプログレッシブシンボル
- データ構造とアルゴリズム(Golang実装)(10)基本知識-アルゴリズムの複雑さの主な方法
- データ構造とアルゴリズム(Golang実装)(11)一般的なデータ構造-序文
- データ構造とアルゴリズム(Golang実装)(12)一般的なデータ構造にリンクされたリスト
- データ構造とアルゴリズム(Golang実装)(13)一般的なデータ構造-可変長配列
- データ構造とアルゴリズム(Golang実装)(14)一般的なデータ構造-スタックとキュー
- データ構造とアルゴリズム(Golang実装)(15)一般的なデータ構造-リスト
- データ構造とアルゴリズム(Golang実装)(16)一般的なデータ構造-辞書
- データ構造とアルゴリズム(Golang実装)(17)一般的なデータ構造ツリー
- データ構造とアルゴリズム(Golang実装)(18)ソートアルゴリズム-序文
- データ構造とアルゴリズム(Golang実装)(19)ソートアルゴリズム-バブルソート
- データ構造とアルゴリズム(Golang実装)(20)ソートアルゴリズム選択ソート
- データ構造とアルゴリズム(Golang実装)(21)ソートアルゴリズム挿入ソート
- データ構造とアルゴリズム(Golang実装)(22)ソートアルゴリズム-ヒルソート
- データ構造とアルゴリズム(Golang実装)(23)ソートアルゴリズム-マージソート
- データ構造とアルゴリズム(Golang実装)(24)ソートアルゴリズム-優先度キューとヒープソート
- データ構造とアルゴリズム(Golang実装)(25)ソートアルゴリズム-迅速なソート
- データ構造とアルゴリズム(Golang実装)(26)ルックアップアルゴリズム-ハッシュテーブル
- データ構造とアルゴリズム(Golang実装)(27)検索アルゴリズム-バイナリ検索ツリー
- データ構造とアルゴリズム(Golang実装)(28)検索アルゴリズム-AVLツリー
- データ構造とアルゴリズム(Golang実装)(29)検索アルゴリズム-2-3ツリーと左寄りの赤黒ツリー
- データ構造とアルゴリズム(Golangによって実装)(30)検索アルゴリズム-2-3-4ツリーと通常の赤黒ツリー