Menu
Coddy logo textTech

switch 文

CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 29/86。

1つの値を多くの候補と比較する場合、switch文は、長いelse ifの連鎖に代わる、よりすっきりとした選択肢を提供します。これは、処理すべき複数の異なるケースがある場合に特に便利です。

let day = "Monday"

switch day {
case "Monday":
    print("Start of the week")
case "Friday":
    print("Almost weekend!")
case "Saturday", "Sunday":
    print("Weekend!")
default:
    print("Regular day")
}

Swiftは、switchの後の値を各caseと比較します。一致するものが見つかると、そのケースのコードを実行します。カンマを使用して、1つのケース内に複数の値を組み合わせることができる点に注目してください。

defaultケースは、他のどのケースにも一致しない値を処理します。ケースが考えられるすべての値を網羅していない場合に、このケースが必要になります。他のいくつかの言語とは異なり、Swiftのswitchは自動的に次のケースにフォールスルーしないため、break文は必要ありません。

let grade = "B"

switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
case "C":
    print("Fair")
default:
    print("Needs improvement")
}
challenge icon

チャレンジ

簡単

seasonを受け取り、その季節におすすめのアクティビティを返す関数getSeasonActivityを作成してください。

switch文を使用して季節を判定し、適切なアクティビティを返してください。

ケース:

  • "Spring" - "Go hiking"を返す
  • "Summer" - "Go swimming"を返す
  • "Fall", "Autumn" - "Go apple picking"を返す(どちらも同じアクティビティを返すようにしてください)
  • "Winter" - "Go skiing"を返す
  • その他の値 - "Stay home"を返す

パラメータ:

  • season (String): 季節の名前

戻り値: おすすめのアクティビティ(String型)

チートシート

switch文は、1つの値を多くの候補と照らし合わせる際、複数のelse if文を使うよりもすっきりとした代替手段を提供します。

基本構文:

let day = "Monday"

switch day {
case "Monday":
    print("Start of the week")
case "Friday":
    print("Almost weekend!")
case "Saturday", "Sunday":
    print("Weekend!")
default:
    print("Regular day")
}

主なポイント:

  • Swiftはswitchの後の値を各caseと比較します
  • カンマを使用して、1つのcaseに複数の値を組み合わせることができます
  • defaultケースは、他のケースに一致しない値を処理し、ケースがすべての可能な値をカバーしていない場合に必要となります
  • Swiftのswitchは自動的にフォールスルー(次のケースへ継続)しないため、break文は不要です

出力値を伴う例:

let grade = "B"

switch grade {
case "A":
    print("Excellent")
case "B":
    print("Good")
case "C":
    print("Fair")
default:
    print("Needs improvement")
}

自分で試してみよう

func getSeasonActivity(season: String) -> String {
    // ここにコードを記述してください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン