【Go入門】for文のloop処理の3つの方法

Go
スポンサーリンク

Go言語のfor文の基本とforを使ったネストについて見てきました。

このforキーワードを使ったloop処理(反復処理)については、3つの方法にまとめることができます。

ここでは、このforキーワードを使ったループ処理の3つの方法を見て行きたいと思います。

スポンサーリンク

for 初期化式; ループ継続条件式; 増減式 { }

まずは、for文の基本です。これはすでにやりましたね。

もう一度確認しておきましょう。

以下の形での処理になります。

for 初期化式; ループ継続条件式; 増減式 {
  ループ内で実行する処理
}

具体的なコードは、以前やったコードを再掲すると次のコードになります。

package main

import "fmt"

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

実行すると、0から10まで順に表示されます。

この形がプログラミングでよく見られるfor文での反復の基本ですね。

スポンサーリンク

for 条件式 { }

もう一つのfor文でのloopの形を見ていきます。

次のような形での処理になります。

for 条件式 {
  ループ処理のコード
}

この場合は条件式を満たしている間、ブロック内のループ処理をするというコードです。ブロック内にインクリメントなどで反復に繋がるコードを記述します。

次のようなコードが考えられます。

package main

import "fmt"

func main() {
	x := 0
	for x < 5 {
		fmt.Println(x)
		x++
	}
	fmt.Println("処理終了")
}

main()関数の中で、まずxを初期化しています。このxが条件式「x < 5」を満たしている間、波括弧{}のブロック内の処理をします。ここでは、xをPrintln()で出力し、その後、x++でxに1を加えて処理を繰り返します。

条件式を満たさなくなったらループ処理を抜けて、「処理終了」を表示させるようにしています。

実行結果は次のようになります。

0
1
2
3
4
処理終了

ループ処理終了後に、処理終了と表示されているのがわかります。

スポンサーリンク

for { }

もう一つのfor文でのloop処理の形を見て行きます。

今度は、先ほどの形をちょっと変えた形になります。

for {
  ループ処理のコード
}

これは波括弧{}のブロック内で反復処理のコード書いて、for文でループさせるというイメージですが、これだとわかりにくにので実際のコードで確認してみましょう。

package main

import "fmt"

func main() {
	x := 1
	for {
		if x > 5 {
			break
		}
		fmt.Println(x)
		x++
	}
	fmt.Println("処理終了")
}

for文の中にif文で条件式を記述しています。この条件式を満たした時にbreakでループ処理を抜けるということになります。(このbreakについては、また別のところで扱います)

Println()でxの値を表示し、x++で1を加えてfor文でループしているのですが、上の条件式「x > 5」になったならループを抜けて、「処理終了」を表示するという形です。

実行結果は次のようになります。

1
2
3
4
5
処理終了

条件式を満たした後にループを抜けて、処理終了になっているのが確認できます。

スポンサーリンク

最後に

ここでは、Go言語のforキーワードを使って、反復処理をする3つの方法について見てきました。

次の3つの形でforキーワードでloop処理します。

  • for 初期化式; ループ継続条件式; 増減式 { }
  • for 条件式 {}
  • for {}

処理の中断のbreakなどは別のところで扱います。

Go
スポンサーリンク
CodeGraffitiをフォローする

タイトルとURLをコピーしました