swift 語言的基礎 - 流程控制

程式語言常用的流程控制

條件式陳述 Conditional Statement

if-else


var age = 25

if (age > 20) {
  print("可以結婚了")
} else if (age > 18){
  print("可以投票了")
} else {
  print("乖乖等長大")
}

switch-case


let dayOfWeek = 4

switch dayOfWeek {
  case 1:
    print("Sunday")
        
  case 2:
    print("Monday")
        
  case 3:
    print("Tuesday")
        
  case 4:
    print("Wednesday")
    fallthrough
        
  case 5:
    print("Thursday")
        
  case 6:
    print("Friday")
        
  case 7:
    print("Saturday")
        
  default:
    print("Invalid day")
}

條件可以是任何型別,數字範圍,文字,字典或元組

另外,有一個不常用 但還是知道一下比較好的參數

fallthrough 可以穿透一層 case

迴圈式陳述 Loop Statement

for-in-loop

範例 1

let languages = ["Flutter","Swift", "Kotlin"]

for language in languages where language != "Kotlin" {
      print(language)
}

範例 2

for i in 1 ... 5 {
    print(i)
}
for i in 1 ..< 5 {
    print(i)
}

範例 3

for i in stride(from: 1, to: 10, by: 2) {
    print(i)
}

Nest for-in-loop 巢狀迴圈、跳過(continue)與中斷(break)

範例 1

outerLoop: for i in 1...3{

  innerLoop: for j in 1...3 {
     if i==1 && j == 3 {
      continue outerLoop
    }

    if j == 3 {
      break outerLoop
    }

      print("i = \(i), j = \(j)")
  }
}

while-loop

範例 1

var i = 1, n = 5

while (i <= n) {
  print(i)
   i = i + 1
}

範例 2

var i = 1, n = 5

repeat {
  
  print(i)

  i = i + 1

} while (i <= n)

保護式陳述 guard statement

範例 1

func checkOddEven() {

  var number = 7

  guard number % 2 == 0 else {
    
    print("奇數")
    return
  }

  print("偶數")
}

範例 2

func checkNumber() {
    
  var number? = 7
  
  guard let myNumber = number else {
        print("number is undefined")
    return
  }

  guard number % 2 == 0 else {
    
    print("奇數")
    return
  }

  print("偶數")

}

型別後出現了一個問號,請看下一篇文章 swift: Type Safe


轉載請註明來源,歡迎對文章中的引用來源進行考證,歡迎指出任何有錯誤或不夠清晰的表達。可以郵件至 [email protected]