見出し画像

プログラムを制御せよ!For!(Go言語)

今回は,Goの制御構文であるfor(繰り返し文)の説明です!

早速ですが,本日の説明用コードの全文はこちら!

package main

import (
	"fmt"
)

func main() {
	/* 繰り返し文の使い方 */
	for1()
	for2()
	for3()
}

func for1() { /* 基本 */
	sum := 0
	for i := 0; i < 10; i++ { /* 他の言語と違って,カッコ()が無いですね! */
		sum += i
	}
	fmt.Println("sum = ", sum)
}
func for2() {
	sum := 1
	for sum < 10 { /* GoにはWhile文はない.その代わり,Goではこのように書く */
		sum += sum
	}
	fmt.Println("sum = ", sum)
}
func for3() {
	sum := 1
	for { /* 無限ループ(無限に繰り返します) */
		sum += sum
	}
	fmt.Println("this message is not displayed.")
}

ちなみに,Goのサイト

で,説明用コードの実行結果を確認できます!

解説①

まずは,Goのfor文の基本的な使い方...

func for1() { /* 基本 */
	sum := 0
	for i := 0; i < 10; i++ { /* 他の言語と違って,カッコ()が無いですね! */
		sum += i
	}
	fmt.Println("sum = ", sum)
}

こんな感じです!

よくある言語だと,

for ( i := 0 ; i < 10 ; i++ ) {
}

こんな感じで,for文に括弧があるのですが,Goでは不要です!

基本的にGo言語は,不要なものは,徹底的に省いています!(さすが,ケン・トンプソンとロブ・パイク)

構文としては,

for 初期化; 条件式; 後処理 {
  繰り返し処理
}

こんな感じで,それぞれの語句の説明は,
 「初期化」:最初の「繰り返し処理」の実行前に,実行されます.
 「条件式」:毎回の「繰り返し処理」の実行前に,評価されます.
       そして,評価の結果がfalseであれば,for文は終了します.
 「後処理」:毎回の「繰り返し処理」の実行後に,実行されます.
 「繰り返し処理」:ここに,繰り返したい処理を記述します.
こんな感じです!

解説②

こんな感じで,

func for2() {
	sum := 1
	for sum < 10 { /* GoにはWhile文はない.その代わり,Goではこのように書く */
		sum += sum
	}
	fmt.Println("sum = ", sum)
}

「初期化」と「後処理」を省くことができます!(「条件式」のみ)

そして,なんとなんと,
  この書き方が,Go言語のWhile文です!

Go言語では,
 While文はないのです!!

そもそも,While文って不要じゃん!ってのが,Goのスタンスなのでしょうね!うーん,合理的!

解説③

Goの無限ループは,

func for3() {
	sum := 1
	for { /* 無限ループ(無限に繰り返します) */
		sum += sum
	}
	fmt.Println("this message is not displayed.")
}

こんな感じで書きます!

「初期化」,「条件式」,「後処理」をすべて省くことで,無限ループを表現します!

うーん,簡潔!!

最後に

GoのFor文,どうでしたか?

個人的には,タイピング数が少なくなり,
 Goの書き方に慣れると,非常に効率的!
と感じております...

けど,Goの文法を知らい人は,上記の無限ループを見せられても,「??」って感じになりそうですね...w

ここら辺が,Goにネガティブな感想をもつ人が出てくる原因なのでしょう(たぶん...)

まぁ,Goの,言語としての設計思想には,
 誰がコーディングしても,だいたい,同じコードになる
というものがあるようなので,
 今までの言語と違った書き方や,
 余剰な表現がなくなっていたり,
するのでしょう!

まだまだ,発展途上のオープンソースな言語ですので,今後が楽しみですねぇ~(*´ω`*)

それでは,本日はこの辺で('ω')ノ


ここから先は

0字
500円で,本マガジンのすべてを読むことができます.プログラム初心者でもGO言語を習得できるように丁寧な説明を心がけています.もちろん,購読できない方にも,Goの魅力を伝えていきます!

基本的にGoの公式サイトをわかり易く解説していきます.本マガジンは500円です.購入すれば,本マガジン内の全記事がストレスなく読めます!

期間限定 PayPay支払いすると抽選でお得に!

サポートお願いいたします.主に初心者から中級向けに,ソフトウェア開発に関する知識を提供していきます.