【Go言語】省略したり無限だったり?「For continued」「For is Go’s “while”」「Forever」- For その2

2018年10月29日Gofor,Go言語,ループ,制御文,言語Go,Go言語,ループ,制御文,言語

今回も For ループの続きになるんですが、For に関する残りの内容がかるすぎるので、3ページ分まとめて進めちゃいます。

というわけで「A Tour of Go」を進めていきましょ。

今回のお題は「For continued」と「For is Go’s “while"」と「Forever」の3つ

該当ページのURLおいて置きますねっ…と。(´・ω・)つhttps://go-tour-jp.appspot.com/flowcontrol/2

A Tour of Go - For continued のページ
A Tour of Go – For continued のページ
A Tour of Go - For is Go's "while" のページ
A Tour of Go – For is Go’s “while" のページ
A Tour of Go - Forever のページ
A Tour of Go – Forever のページ

内容を見てみる

前回進めた For ループの応用的な内容ですね。

どのページも軽めなので3ページ分まとめて見ていきます。

ポイントを抜き出してみる

前回やった For の基本的な使い方を覚えていれば、それほど難しいことは書かれてなさそうです。

一応ポイントを確認してみますと…

  • 初期化・後処理ステートメントは省略可
  • セミコロンも省略できる場合あり
  • 無限ループの表現方法

ん~まぁ、このくらいでしょうか…。(・ω・`)スクネ…

前回触れちゃった内容もあったりしますが、順番に詳しく見ていきます。

初期化・後処理ステートメントは省略可

書いてあるまんまですな。(・ω・`)

前回学習しました For 文の書き方を振り返ってみます。

まず、For を書くときは下記①~③のオプション的な指定が可能なわけです。

for <①初期化ステートメント>; <②条件式>; <③後処理ステートメント> {
    :
    :
}

この内、①の「初期化ステートメント」と③の「後処理ステートメント」は省略可能、つまり書かなくても問題ないようです。

まぁ、初期化も後処理も、ループさせるのに絶対必要ってわけじゃないですからね~。(´ε` )

そして省略する場合は単純に空白にしておけばいいようですね。

// 初期化ステートメントを省略してみる
for ; sum < 1000 ; i++  {
    :
    :
}

// 後処理ステートメントを省略してみる
for sum := 0 ; sum < 1000 ; {
    :
    :
}

// 初期化・後処理ステートメントを省略してみる
for ; sum < 1000 ; {
    :
    :
}

セミコロンも省略できる場合あり

「初期化ステートメント」と「後処理ステートメント」の両方を省略しちゃった場合、セミコロン(;)も省略できるようです。

必然的に For キーワードの後にループの条件式が来る形になるかと思います。

// セミコロンを省略したときの書き方
for sum < 1000 {
    :
    :
}

無限ループの表現方法

前回ちらっと触れちゃってるんですけど、無限ループを表現する場合は「初期化ステートメント」、「条件式」、「後処理ステートメント」の全てを省略すればいいようです。

つまり for キーワードのみってことですね。

// 無限ループの書き方
for {
    :
    :
}

今回のまとめ

前回の基本的な For の使い方に続いて、今回は省略できる箇所や無限ループなど、少し応用的な内容でした。

今回やった部分をまとめてみますと…

  • 初期化ステートメント、後処理ステートメントは省略することができるんです
  • 条件式のみならセミコロンも省略できるんです
  • for だけ書くと無限ループになるんです

といった感じでしょうか。

あー、それとループに関してもう一つ。

C言語など他の言語では「while」っていう命令もあるんですが、Goに関しては for 一択のようです。

「while」的な使い方は、今回触れた指定の仕方を組み合わせることで実現できるようです。

使い分ける必要がなくていいですね~。(・∀・)

といったところで今回はここまで。

それじゃ~また次回。٩(๑´3`๑)۶