2022年3月8日火曜日

Goのfor文とcontinue、break

今回はGoのfor文の書き方です。

配列を順番に取り出したらい、ループを回すのに使うことが多いです。

こちらも言葉で説明するよりもコードを見た方が早いと思いますので、以下のコードを書いて実行しましょう。

[main.go]


package main

import "fmt"

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

これを実行すると、以下のように出力されます。


0
1
2
3
4
5
6
7
8
9

iが初期値で最初に0を代入しています。

次に条件判定で、iの値が10未満となるまでループを回すように設定しています。

そして、最後にループを1回実行するたびにiの値を1ずつ増やしています。

書き方さえ覚えてしまえば、そんなに難しくないですよね。

次にcontinueの使い方の説明です。

まずは、以下のコードを書いて実行してみましょう。

[main.go]


package main

import "fmt"

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

これを実行すると、以下のように出力されます。


0
1
2
3
4
6
7
8
9

ご覧のように5だけが出力されません。

これは、ある条件にマッチした時に、continueを使うと、その時の処理がスキップされるからです。

先ほどのコードで言えば、iの値が5の時にcontinueを実行していますので、5がスキップされるのです。

次にbreakの使い方の解説です。

以下のコードを書いて実行してみましょう。

[main.go]


package main

import "fmt"

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

これを実行すると、以下のように出力されます。


0
1
2
3
4

これを見たらすぐに分かると思いますが、continueが実行されると、そこでループから抜けて処理が終了します。

continueの場合は、スキップして処理が継続されますが、continueの場合はそこでループが終了となります。

for、continue、breakを使えば、いろんな処理を実行することができるので、必ずマスターしましょう。

0 件のコメント:

コメントを投稿

GAEのGo言語でuser APIが機能しない件

Goを使ってGAEのアプリケーションを作り始めたけど、管理画面を作る段階でいきなり行き詰まった。 user APIがあるんだけど、それがどうしても機能してくれなくて、LoginURLやLogoutURLが返ってこないんです。 検索して出てくるコードのまま書いてるんだけど、全...