ここからは、Go言語の制御構文について扱っていこうと思います。
まず、loop処理のfor文の基本から扱っていきます。
for文での繰り返し処理は、どのプログラミング言語でも扱うものですから、理解はしやすい項目だと思います。
for文
for文は指定回数だけ繰り返す構文で、Go言語では次のような形になります。
for 初期化式; ループ継続条件式; 増減式 {
ループ内で実行する処理
}
具体的なコードで見て行きましょう。
0から10まで繰り返し出力するコードを上の形式で書いてみましょう。
package main
import "fmt"
func main() {
for i := 0; i <= 10; i++ {
fmt.Println(i)
}
}
main()関数の中でfor文の処理を記述しています。
初期化式として、省略宣言でiを0にしています。繰り返しの条件でiが10以下であること、増減式としてi++として1づつ加えるインクリメントを定義しています。
これをPrintln()で順に出力しています。
実行結果は次のようになります。
0
1
2
3
4
5
6
7
8
9
10
0から順に10まで出力されているのが確認できます。
Pythonコードで書くと…
このコードをPythonではどう書くか?
実際、PythonにはGo言語や他の言語のように初期化式をカウントアップしていくような書き方をしません。
JavaScriptで書くと次のようなコードになります。
for (var i = 0; i <= 10; i++) {
console.log(i);
}
JavaScriptコンソールで出力すると同様の結果を得ることができます。
Pythonで同様な結果を得るには、次のようなコードが考えられます。
def main():
for i in range(11):
print(i)
if __name__ == "__main__":
main()
ここではrange()を使って処理してみました。
結果は以下のように同様なものとなります。
0
1
2
3
4
5
6
7
8
9
10
これと同様の出力を行うコードは他の方法もあります。
次のコードも同様の意味ですね。
def main():
l = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in l:
print(i)
if __name__ == "__main__":
main()
これは、リストの数値を順に取り出すという処理をしています。
この他、for文については、処理の途中で中断するような処理もあるのでそれらについては、また別のところで扱っていこうと思います。
最後に
ここでは、Go言語のループ処理について、for文を使った基本的な処理を扱いました。
for文に続けて、初期化式、ループ継続条件式、増減式を定義し、繰り返し処理のコードをブロック内に記述します。
for文は、他にも処理を途中で中断するようなこともできるので、このあたりは別のところでまとめていきたいと思います。
次は、このfor文をネストした形で反復処理する方法をみていきましょう。