06/04/2021, 14:47

Switch Case trong Swift - Swift căn bản

Trong bài này mình sẽ nói về lệnh rẻ nhánh switch case trong Swift. Switch Case cũng là một lệnh được dùng rất nhiều trong lập trình Swift. Ở bài trước chúng ta đã được tìm hiểu lệnh if else, nhưng không phải chỉ mỗi nó là có thể rẻ nhánh được chương trình, bạn hoàn toàn có thể sử dụng switch ...

Trong bài này mình sẽ nói về lệnh rẻ nhánh switch case trong Swift. Switch Case cũng là một lệnh được dùng rất nhiều trong lập trình Swift.

Ở bài trước chúng ta đã được tìm hiểu lệnh if else, nhưng không phải chỉ mỗi nó là có thể rẻ nhánh được chương trình, bạn hoàn toàn có thể sử dụng switch case để thay thế. Tuy nhiên switch case vẫn có nhiều hạn chế nên ít được khuyến khích.

1. Tìm hiểu Switch Case trong Swift

Đúng với tên gọi của nó, switch sẽ chuyển đối chương trình dựa vào những trường hợp (CASE) khác nhau. Bạn có thể tạo nhiều CASE , và đừng quên một trường hợp đặc biệt đó là DEFAULT.

Trước tiên hãy xem lượt đồ thuật toán trước đã nhé.

swift switch statement algorithm diagram png

Nhìn có vẻ phức tạp hơn lệnh if else, tuy nhiên bạn đừng lo lắng quá bởi thực tế nó cũng không quá khó. Hãy xem cú pháp dưới đây để hiểu rõ hơn.

switch expression {
    case pattern 1:
        statements 1
    case pattern 2:
        statements 2
    case pattern 3, pattern 4:
        statements 3
    default:
        statements 4
}

Công thức được giải thích như sau:

  • expression là một biểu thức, nó phải trả về một giá trị xác định, có thể là các kiểu dữ liệu như integer, boolean, string, ...
  • pattern 1 là giá trị sẽ so khớp với expression, nếu khớp thì statements 1 được chạy.
  • pattern 2 là giá trị sẽ so khớp với expression, nếu khớp thì statements 2 được chạy.
  • ...
  • Cuối cùng không có pattern nào khớp thì lệnh ở default sẽ được chạy.

Default giống như lệnh else trong cấu trúc của lệnh if.

2. Ví dụ Switch Case trong Swift

Để hiểu rõ hơn về lệnh switch case trong Swift thì ta hãy làm một ví dụ như sau: Cho biến num, hãy kiểm tra và so khớp biến num trong những trường hợp khác nhau.

var num = 20

switch num {

    case 10:
    print("Given value is 10")

    case 20:
    print("Given value is 20")

    case 30:
    print("Given value is 30")

    default:
    print("No Matching")
}

Chạy ví dụ này bạn sẽ thu được kết quả như sau:

Given value is 20

Một điểm khác so với các ngôn ngữ khác là mình không thấy lệnh break bắt buộc phải dùng trong lệnh Switch Case.

3. Switch Case nâng cao trong Swift

Nếu bạn muốn nhiều trường hợp chạy chung một đoạn code thì liệt kê và cách nhau bởi dấu phẩy.

Xem ví dụ sau để hiểu rõ hơn: Trường hợp anotherCharacter có giá trị là a hoặc A thì in ra chuỗi The letter A.

let anotherCharacter: Character = "a"
switch anotherCharacter {
case "a", "A":
    print("The letter A")
default:
    print("Not the letter A")
}

Giá trị trong các CASE có thể được đưa vào trong một khoảng. Ví dụ dưới đây sử dụng các khoảng số để đếm số lượng cho một số bất kỳ.

let approximateCount = 62
let countedThings = "moons orbiting Saturn"
let naturalCount: String
switch approximateCount {
case 0:
    naturalCount = "no"
case 1..<5:
    naturalCount = "a few"
case 5..<12:
    naturalCount = "several"
case 12..<100:
    naturalCount = "dozens of"
case 100..<1000:
    naturalCount = "hundreds of"
default:
    naturalCount = "many"
}
print("There are (naturalCount) (countedThings).")

Bạn hãy thay đổi giá trị cho biến approximateCount để xem kết quả như thế nào nhé.

Trên là một vài cách sử dụng lệnh rẻ nhánh Switch Case trong lập trình Swift. Bài này mình sẽ dừng ở đây, hẹn gặp lại bạn ở bài tiếp theo nhé, chúng ta sẽ tìm hiểu về Tuples.

Bùi Văn Nam

27 chủ đề

7090 bài viết

0