Go言語で条件式をネストする方法!多段条件分岐の基本を学ぼう
生徒
「Go言語で条件をたくさんチェックしたいときって、どうやればいいんですか?」
先生
「それは『ネストされた条件式』という形を使えばできますよ。たとえば、『朝で、晴れていて、傘を持っていない』というように、複数の条件を順番にチェックできます。」
生徒
「なるほど…でも実際にはどう書くんですか?」
先生
「それでは、Go言語でのネスト条件式の基本を一緒に見ていきましょう!」
1. ネストされた条件式とは?
Go言語で「ネスト」とは、条件文(if文)の中にさらに別のif文を入れ子にすることです。つまり、「ある条件の中で、さらに別の条件をチェックしたい」という場面で使われます。
たとえば、ある生徒が試験に合格したかどうかをチェックする場合に、「点数が60点以上」かつ「提出物が出ているか」など、複数の条件があるときにネストが役立ちます。
2. Go言語での基本的なif文のネスト構造
まずはシンプルな例を見てみましょう。これは点数が60点以上で、さらに提出物が出されている場合に「合格」と表示するコードです。
package main
import "fmt"
func main() {
score := 75
submitted := true
if score >= 60 {
if submitted {
fmt.Println("合格です!")
}
}
}
このコードでは、まずscoreが60以上かどうかをチェックし、その条件の中でsubmitted(提出したかどうか)もチェックしています。
3. 実行結果を確認してみよう
このプログラムを実行すると、次のような結果が表示されます。
合格です!
4. elseを使ったネストの応用
ifだけでなく、elseやelse ifもネストの中で使うことができます。次の例は、点数や提出物の有無に応じて異なるメッセージを出力するコードです。
package main
import "fmt"
func main() {
score := 55
submitted := false
if score >= 60 {
if submitted {
fmt.Println("合格です!")
} else {
fmt.Println("点数は合格ですが、提出物がありません。")
}
} else {
fmt.Println("不合格です。")
}
}
このようにelseの中にさらに条件を書くことで、細かい分岐ができます。
5. ネストを使うときの注意点
ネストされたif文は便利ですが、あまりにも深くしすぎると読みづらくなってしまいます。プログラムを書くときは、「人が読んで理解しやすいか?」という視点も大事です。
ネストが3段以上になるようなときは、別の方法を考えたほうが良い場合もあります。たとえば、複数の条件をif 条件1 && 条件2のようにまとめて書く方法もあります。
6. 複数の条件をまとめて書く方法
ネストを減らすために、条件をひとつにまとめて書く方法もあります。次のように書くと、シンプルになります。
if score >= 60 && submitted {
fmt.Println("合格です!")
}
このように、論理演算子&&(アンド)を使うと、ネストせずに複数の条件を同時にチェックできます。
7. ネスト条件式の具体例:お弁当の判定
日常的な例として「お弁当を持ってきたか?」を判定するプログラムを考えてみましょう。「今日は平日で、時間がある場合にお弁当を作る」という設定です。
package main
import "fmt"
func main() {
isWeekday := true
hasTime := true
if isWeekday {
if hasTime {
fmt.Println("お弁当を作ります。")
} else {
fmt.Println("時間がないのでコンビニに行きます。")
}
} else {
fmt.Println("今日はお休みです。")
}
}
このように、ネストされたifを使うと、複雑な状況でも柔軟に判断ができます。
8. ネストされた条件式の活用場面
ネストされたif文は、以下のような場面で役立ちます。
- ユーザーがログインしているか確認した後に、権限があるかを調べたいとき
- ある商品の在庫があるかを確認し、そのあと支払い方法に応じて処理を変えるとき
- 入力された情報が正しいかチェックしてから、処理を進めたいとき
このように「まずAをチェックしてから、Bを判断する」という処理は日常でもよくあります。それをプログラムにするのがネスト条件です。
9. おさらい:ネストを使ったコードの書き方
ネストされた条件式を使うには、まずifの基本構文をしっかり理解しましょう。そして、必要に応じてifの中にさらにifを書くことで、順番に条件を判断することができます。
コードを読みやすくするために、適切なインデント(字下げ)も忘れずに行いましょう。