Go - デシジョンメイキング

Goにおけるデシジョンメイキングの導入

こんにちは、未来のGoプログラマーさん!今日はプログラミングの最も重要な侧面の一つ、デシジョンメイキングに踏み込みます。現実生活と同様に、私たちのプログラムは特定の条件に基づいて選択を行う必要があります。Goでは、これらの選択を実装するためのいくつかのツールを利用できます。一緒にこのエキサイティングな旅に出発しましょう!

Go - Decision Making

If文:デシジョンメイキングの基本構造

文法と構造

if文はGoにおけるデシジョンメイキングの基盤です。特定の条件が真である場合にのみコードブロックを実行するものです。以下は基本的な構造です:

if 条件 {
// 条件が真の場合に実行するコード
}

簡単な例を見てみましょう:

package main

import "fmt"

func main() {
age := 18

if age >= 18 {
fmt.Println("You are eligible to vote!")
}
}

この例では、ageが18歳以上かどうかをチェックしています。それが真の場合、メッセージを表示します。このコードを実行すると、18歳以上であるためメッセージが表示されます!

Else節の追加

条件が偽の場合に何かを行いたい場合は、else節を使用します:

package main

import "fmt"

func main() {
age := 16

if age >= 18 {
fmt.Println("You are eligible to vote!")
} else {
fmt.Println("Sorry, you're too young to vote.")
}
}

この場合、ageが16歳であり、18歳未満であるため、elseブロック内のメッセージが表示されます。

If-Else If-Else連鎖

複数の条件をチェックする必要がある場合、if-elseステートメントを連鎖させることができます:

package main

import "fmt"

func main() {
score := 75

if score >= 90 {
fmt.Println("A grade")
} else if score >= 80 {
fmt.Println("B grade")
} else if score >= 70 {
fmt.Println("C grade")
} else {
fmt.Println("Need improvement")
}
}

このプログラムはscoreをチェックし、対応するグレードを表示します。75点の場合、「C grade」が表示されます。

Switch文:複数の選択肢を持つデシジョンメイカー

複数の条件をチェックする場合、特に同じ変数をチェックする場合、switchステートメントを使用するとコードがクリーンで効率的になります。

基本的なSwitch文法

package main

import "fmt"

func main() {
day := "Monday"

switch day {
case "Monday":
fmt.Println("It's the start of the work week!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println("It's a regular day.")
}
}

この例では、dayの値をチェックし、対応するケースを実行します。他のケースに一致しない場合、defaultケースが実行されます。

複数のケースを持つSwitch

複数のケースを一緒にするすることもできます:

package main

import "fmt"

func main() {
day := "Saturday"

switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("It's a weekday.")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid day.")
}
}

このコードは土曜日であるため、「It's the weekend!」と表示されます。

式のないSwitch

Goでは、式のないswitchを使用することもでき、長いif-else連鎖の代わりに利用できます:

package main

import "fmt"

func main() {
score := 85

switch {
case score >= 90:
fmt.Println("A grade")
case score >= 80:
fmt.Println("B grade")
case score >= 70:
fmt.Println("C grade")
default:
fmt.Println("Need improvement")
}
}

このコードは「B grade」と表示されます。

条件演算子

条件をより強力にするために、条件演算子を使用します。以下は最も一般的なものの表です:

演算子 説明
== 等しい a == b
!= 等しくない a != b
< 小于 a < b
> 大于 a > b
<= 小于または等しい a <= b
>= 大于または等しい a >= b
&& 論理AND a && b
|| 論理OR a || b
! 論理NOT !a

これらを実際に見てみましょう:

package main

import "fmt"

func main() {
age := 25
hasLicense := true

if age >= 18 && hasLicense {
fmt.Println("You can drive a car!")
} else if age >= 18 && !hasLicense {
fmt.Println("You're old enough, but you need a license.")
} else {
fmt.Println("You're too young to drive.")
}
}

このプログラムはagehasLicenseの両方をチェックし、運転できるかどうかを判断します。

結論

デシジョンメイキングはプログラミングの基本概念であり、Goはそれを実装するための強力なツールを提供しています。練習を重ねることが完璧に近づく鍵です!ifswitch、そして異なる条件演算子を使用した自分自身のプログラムを作成してみてください。

Goを学び続ける中で、これらの構造を頻繁に使用することになるでしょう。它们はプログラムの論理の構成要素であり、異なる条件に基づいて賢い選択を行う助けとなります。

codingを続け、学びを続け、そして最も重要なのは、Goを楽しむことです!

Credits: Image by storyset