見出し画像

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

さてさて,やっていきますか~(*'ω'*)

本日は,GoのIf文です!

先日は,For文でしたが,If文はFor文と共通するところがあります!

それでは,本日の説明用のソースコードは,こちらです!

package main

import (
	"fmt"
)

func main() {

	if1(1)

	if2(-1)
	if2(0)
	if2(1)

	if3(2)
	if3(5)
}

func if1(x int) { /* if文の基本 */

	if 0 < x { /* for文と同じく,括弧()がない! */
		fmt.Println("x is positive.")
	}

}
func if2(x int) { /* if-else 文 */

	if x < 0 {
		fmt.Println("x is negative.")
	} else if x == 0 {
		fmt.Println("x is zero.")
	} else {
		fmt.Println("x is positive.")
	}

}

func if3(x int) { /* 変数の宣言付きif文 */

	if v := 2 * x; v < 10 { /* for文に似てる! */
		fmt.Println("v < 10")
		fmt.Println("v = ", v)
	}
	//	ここで,vは使えない.

}

Goコードは下記のサイトへコピペして実行できます!


if文の基本

if文の基本は,

if 条件式 {
    条件式がtrueの場合に実行される処理
}

となります!
for文と同じく,「条件式」の部分に括弧「()」が不要なんです!

説明用コードの

func if1(x int) { /* if文の基本 */

	if 0 < x { /* for文と同じく,括弧()がない! */
		fmt.Println("x is positive.")
	}

}

この部分が,実装例です!

関数if1の引数xが0よりも大きい場合,「x is positive.」が標準出力されます!

if-else文

Goのif-else文はこちらです!

func if2(x int) { /* if-else 文 */

	if x < 0 {
		fmt.Println("x is negative.")
	} else if x == 0 {
		fmt.Println("x is zero.")
	} else {
		fmt.Println("x is positive.")
	}

}

上記のコードは,
 「x<0   」がtrueなら,「x is negative.」
 「x==0」がtrueなら,「x is zero.」
 上記以外   なら,「x is positive.」
が標準出力されます!

このように,if-else文では,上から順に条件式が評価され,
 trueであれば,対応する処理を実行して,if-else文が終了
 falseであれば,次の条件式の評価
のように処理が流れていきます!

変数の宣言付きif文

最後は,こちらです!

func if3(x int) { /* 変数の宣言付きif文 */

	if v := 2 * x; v < 10 { /* for文に似てる! */
		fmt.Println("v < 10")
		fmt.Println("v = ", v)
	}
	//	ここで,vは使えない.

}

何じゃこりゃ(; ・`д・´) って感じですねw

この書き方は,従来の言語(C,C++,Java etc.)とは異なり,独特ですね!

しかーし,よく見ると,for文と同じなんです!
結果的に,if文とfor文の書き方が似ているので
わかり易いとも言えそうです('ω')

簡単に解説すると,

if 変数の初期化 ; 条件式 {
 条件式がtrueの場合に実行される処理
 (このブロック+条件式の中では,「変数の初期化」で宣言した変数が使えます)
}
(ブロックの外では,「変数の初期化」で宣言した変数は使えません.)

こんな感じです!ちなみに「ブロック」とは中括弧「{}」で囲んだコードの集まりのことです!

以上で,if文の説明は終了です!

終わりに

どうでしたか?

基本的に,C系列の文法と似ていますが,
 ・条件式に括弧()が省略されていたり,
 ・for文と同じく「変数の初期化」ができたり,

Go独特な書き方もありましたね!

次回は,Switch文です!

ここから先は

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

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

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

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