Go - デシジョンメイキング
Goにおけるデシジョンメイキングの導入
こんにちは、未来のGoプログラマーさん!今日はプログラミングの最も重要な侧面の一つ、デシジョンメイキングに踏み込みます。現実生活と同様に、私たちのプログラムは特定の条件に基づいて選択を行う必要があります。Goでは、これらの選択を実装するためのいくつかのツールを利用できます。一緒にこのエキサイティングな旅に出発しましょう!
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.")
}
}
このプログラムはage
とhasLicense
の両方をチェックし、運転できるかどうかを判断します。
結論
デシジョンメイキングはプログラミングの基本概念であり、Goはそれを実装するための強力なツールを提供しています。練習を重ねることが完璧に近づく鍵です!if
、switch
、そして異なる条件演算子を使用した自分自身のプログラムを作成してみてください。
Goを学び続ける中で、これらの構造を頻繁に使用することになるでしょう。它们はプログラムの論理の構成要素であり、異なる条件に基づいて賢い選択を行う助けとなります。
codingを続け、学びを続け、そして最も重要なのは、Goを楽しむことです!
Credits: Image by storyset