Swift入門メモ -if・switch-

08 ifで条件分岐

dotinstall.com

  • 何らかの条件に応じて処理を振り分けたいとき
  • 比較演算子を使う > >= < <= == !=
let score = 62
var result = ""

if score > 80 {
    result = "Great"
} else if score > 60 {
    result = "Good" // ここ
} else {
    result = "so so ..."
}

// 以下のifを三項演算子で書いてみる
if score > 80 {
    result = "Great"
} else {
    result = "so so ..." // ここ
}

result = score > 80 ? "Great" : "so so..."
result // so so...

09 switchで条件分岐

dotinstall.com

  • 何らかの条件に応じで処理を振り分けたいとき
  • case文を区切るのにbreakは必要ない
  • 取り得る値が複数ある場合はカンマ区切り
  • 範囲演算子を使うことが出来る
  • 細かい条件の指定も可能
  • 取り得る値をすべて網羅出来ない場合は、必ずdefault句が必要
  • 何らかの時に何もしたくない場合はbreakと書く
  • 続けて次の処理もしておきたい場合はfallthrough
let num = 8

switch num {
case 1, 2, 4, 8:
    println("tenkou")
    fallthrough // 続けて次の処理をしたい場合
    // num=1,2,4,8の場合は、"tenkou"の後に"mayama"と表示される
case 3:
    println("mayama")
case 5...7: // 範囲演算子:5, 6, 7
    println("yasumoto, hirota, hoshina")
case 9..<11: // 範囲演算子:9, 1011は含まない)
    println("matsuno, kashiwagi")
case let n where n > 10 && n < 13: // 一旦値がnに入り、where句で条件を指定して真の場合に続く処理が実行される
    println("kobayashi, nakayama")
default:
    // println("n.a.")
    break // 何もしたくない場合はbreak
}