LoginSignup
0
1

More than 3 years have passed since last update.

Swift学習記#3「条件分岐式について」

Last updated at Posted at 2020-05-16

はじめに

今回は、前回の繰り返し文と同じく開発の中で頻繁に用いられる
条件分岐についてです。

その中でも、僕が「特に使うのではないか」と思う
ifswitch ~ caseguardの3つについて解説して行きます!

if ( if ~ else, if ~ else if )

書式はこんな感じ、、、

test.Playground
if 条件式 {

  // 正の場合の処理

} else {

  // 負の場合の処理

}

if文の条件分岐式は、対象になる変数(または定数)が
設定された条件に対して正(正しい)か、負(間違っている)か
によって行う処理が変わるというもの。

実際には、

test.Playground
var num = 12

if num % 2 = 0 {
  // 正の場合の処理
  print("numは偶数")

} else {
  // 負の場合の処理
 print("numは偶数ではない")
}

// 表出結果
=> numは偶数

こんな感じで行う処理を分けて行きます!

またif文では、条件を複数設定することもできます。
それを可能にするのは、if ~ else ifです。

書式はこんな感じ、、、

test.Playground
if 条件式1 {

  // 正の場合の処理

} else if 条件式2 {

  // 正の場合の処理

} else {

  // 負の場合の処理

}

この様に、 else ifを使うと条件式を複数使用できます。

ちなみに、分岐の条件として「負の場合」と書いていますが、
どちらかといえば「正でない場合」と言い方が正しいかもしれません。

switch ~ case

書式はこんな感じ、、、

test.Playground
switch 変数(または定数) {
case 条件1:
  // 処理
case 条件2:
  // 処理

    ・
    ・
    ・

default:
  // 全ての条件に一致しなかった場合の処理
}

switch ~ caseの条件分岐式では、対象になる変数(または定数)に
caseごとに条件を設定して行き、ifと同様に
設定された条件に対して正(正しい)か、負(間違っている)かによって
行う処理をが変わる。

switchの文はif文とは違い、変数(または定数)の定義が
1回でいいので、複数の条件を設定する場合に有用である。

実際の使用法は、、、

test.Playground
var age = 17

switch age {
case 0...6:
  print("幼稚園児")
case 7...12:
  print("小学生")
case 13...15:
  print("中学生")
case 16...18:
  print("高校生")
default:
  print("社会人 or 大学生")
}

// 表出結果
=> 高校生 

こんな感じになります!

guard

guard文は上の2つの条件分岐とは違う判定を行う条件分岐式です。
しかし、swiftで開発を行う場合はとても有用で重要です!

まず、書式はこんな感じ、、、

test.Playground

guard 条件式 else {

  // 条件式が負の場合に処理を実行

}

書式を見ての通り、
guard文は「条件式が負の場合」に処理を実行します。
ちょうど上2つとは真逆の条件分岐式になりますね。

初めて見ると「こいついるの?」と思うかもしれないが、
swiftでは割と重要なので知っておいて損はないと思います!
(個人の感想です‼︎)

ちょっと難しいですが、実際に使うと、、、

test.Playground
// 関数の定義
func test(_ a: Int) {

//guard文定義
  guard a > 0 else{

  //条件式が負の場合に処理を実行
    print("数値は0未満です")
    return
  }
  print a
}

// 関数に値を挿入
test(1)

//表出結果
=> 1

今回使った関数の定義は次回説明します!

これまで

今回は、ifswitch ~ caseguardの3つの条件分岐式
についてやりました。

条件分岐式は開発に進めば頻繁に目にすることになるので、
この3つだけでも覚えておいてください‼︎

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1