概要
今回のブログポストではGolangでfor
文を使う方法について説明します。このブログポストで紹介するコードは次のリンクで確認できます。
for文
Golangでは1つのループ文だけ存在して、for
文がその役割をしております。Golangではwhile
分とようなループ文が存在してないですが、for
文でそれと同じ機能を実行することはできます。
Golangでは次のようにfor
文を定義して使います。
for 初期化文; 条件文; 後処理 {
// 条件文がtrueになると実行される
コードブロック
}
また、次のように初期化文を省略することができます。
for ; 条件文; 後処理 {
...
}
逆に、次のように後処理を省略することもできます。
for 初期化文 ; 条件文; {
...
}
もちろん、初期化文と後処理を同時に省略することもできます。
for ; 条件文; {
...
}
これを次のようにもっと簡単に定義して使うこともできます。
for 条件文 {
...
}
これを確認するためmain.go
ファイルを作って、次のように修正します。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
i := 0
for ; i < 10; i++ {
fmt.Println(i)
}
for i := 0; i < 10; {
fmt.Println(i)
i++
}
i = 0
for i < 10 {
fmt.Println(i)
i++
}
i = 0
for i < 10 {
fmt.Println(i)
i++
}
}
continueとbreak
Golangでもループ中でcontinue
とbreak
を使ってループをコントロールすることができます。
- continue: 後処理に移動
- break: ループを終了
これを確認するためmain.go
ファイルを次のように修正します。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 3 {
continue
}
if i == 6 {
break
}
fmt.Println(i)
}
}
プログラムを実行すると次のようにi
が3
の時、後処理に移動して、画面にi
が表示されないことが確認できます。また、i
が6
の時、ループが終了されることが確認できます。
# go run main.go
0
1
2
4
5
無限ループ
Golangではfor
文を使って無限ループを実装することができます。for
文で次のように初期化文と後処理を省略して、条件にtrue
を設定すると無限ループになります。
for true {
コードブロック
}
これを次のように簡単に表現することができます。
for {
コードブロック
}
無限ループを確認するため、次のようにmain.go
ファイルを修正します。
package main
import (
"fmt"
"time"
)
func main() {
i := 1
for {
time.Sleep(time.Second)
fmt.Println(i)
i ++
}
}
これを実行すると、1秒に1回i
が表示されることが確認できまし、プログラムが終了さないことが確認できます。
# go run main.go
1
2
3
4
...
このようにプログラムが終了されない場合、ctrl + c
キーを押すとプログラムが終了されます。
完了
これでGolangで唯一のループ文であるfor
文を使う方法についてみてみました。また、for
文の初期化文と後処理を省略することができることと、無限ループを作る方法についてもみてみました。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。