1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

プログラミング超入門(7)〜GO言語〜

Last updated at Posted at 2021-03-20

#条件分岐
分岐処理とは、ある条件が満たされるときのみ特定の処理を行い、そうでなければ別の処理をしたり、また別のある条件が満たされているときのみ特定の処理を行い、そうでなければ何もしないなどといった与えられた式の値でtrueかfalseに分け異なる処理を行うようにすることをいいます。
##if文
if 条件 { 条件を満たしたときの処理} 

Branch1.go
package main

import "fmt"

func main() {
     age := 24

     if age >= 20 {
         fmt.Println("adult") 
     }
}

###実行結果

adult

##if~else文
if 条件 A { 条件Aを満たしたときの処理} else { 条件を満たさないときの処理}

Branch2.go
package main

import "fmt"

func main() {
     age := 18

     if age >= 20 {
         fmt.Println("adult") 
     } else {
         fmt.Println("child")
     }
}

###実行結果

child

##else~if文
if 条件 A { 条件Aを満たしたときの処理} else if 条件 B { 条件Bを満たさないときの処理} else { 条件を満たさないときの処理}

Branch3.go
package main

import "fmt"

func main() {
     age := 0

     if age >= 20 {
         fmt.Println("adult") 
     } else if age == 0 {
         fmt.Println("baby")
     } else {
         fmt.Println("child")
     }
}

###実行結果

baby

##if文の簡易的な書き方
if 簡易文; 条件 A { 条件Aを満たしたときの処理} else if 条件 B { 条件Bを満たさないときの処理} else { 条件を満たさないときの処理}

Branch4.go
package main

import "fmt"

func main() {
     if age := 0; age >= 20 {
         fmt.Println("adult") 
     } else if age == 0 {
         fmt.Println("baby")
     } else {
         fmt.Println("child")
     }
}

###実行結果

baby

具体的には、if文の中に変数を宣言したり、変数に代入したり四則演算の計算など、簡易的な文を記述することができます。簡易文はif文の外では使えないので、if文の中で表示するよう記述します。

Branch5.go
package main

import "fmt"

func main() {

     x := 10
     y := 12

     if age := x + y; age >= 20 {
         fmt.Println("adult", age) 
     } else if age == 0 {
         fmt.Println("baby")
     } else {
         fmt.Println("child")
     }
}

###実行結果

adult 22

##if文の応用(条件が満たされた場合のみ処理し、そうでなければ何もしない)
if文を使用して「5544」という数字を小さい値から、割り切れなくなるまで続けるプログラムを書いてみます。ifの後にtrueかfalseを与える式を置き、その式の値がtrueであれば{ }内に書かれた処理を行います。左側の整数を右側の整数で割った剰余を得る「%」剰余演算子を用いてthenをnで割った剰余が0であればtrueを返し、そうでなければfalseを返します。if then % n == 0 { (←trueならば)そして、変数nの値を1つずつ増やしていくfor文により、繰り返し処理されます。if文の後の式の値がfalseであれば処理は行われず、次の繰り返し回にまわされます。if文の内容が実行されるたびに小さくなっていきます。

fi5544.go
package main

import "fmt"

func main() {

	then := 5544
	fmt.Println(then)

	for n := 2; n < then; n++ {
		if then%n == 0 {
			then /= n
			fmt.Printf("を%dで割ると、%d\n", n, then)
		}
	}
}

###実行結果

5544
を2で割ると、2772
を3で割ると、924
を4で割ると、231
を7で割ると、33
を11で割ると、3

←前回の記事 次の記事へ→

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?