概要
今回のブログポストでは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で開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。






