×

Sử dụng cấu trúc switch để lựa chọn điều kiện trong Swift

Trong Swift, việc lựa chọn điều kiện có thể được thực hiện một cách hiệu quả nhờ vào cấu trúc switch. Đây là một công cụ mạnh mẽ khác với nhiều ngôn ngữ lập trình khác, nhờ khả năng xử lý nhiều trường hợp phức tạp hơn mà chỉ cần sử dụng một cấu trúc đơn giản và dễ hiểu.

Cơ bản về cấu trúc

Cấu trúc switch cơ bản trong Swift bao gồm từ khóa switch, một giá trị cần kiểm tra (được gọi là biến điều kiện), và một danh sách các trường hợp (case) xử lý các giá trị khác nhau của biến điều kiện này. Cú pháp tổng quát như sau:

switch giá_trị {
case giá_trị_1:
    // Thực thi mã khi giá trị bằng giá_trị_1
case giá_trị_2:
    // Thực thi mã khi giá trị bằng giá_trị_2
default:
    // Thực thi mã khi không khớp với bất kỳ giá trị nào
}

Các tính năng nổi bật

  1. Không cần break: Trong Swift, bạn không cần sử dụng từ khóa break để thoát ra khỏi một trường hợp như trong một số ngôn ngữ khác. Mỗi nhánh case tự động kết thúc khi mã trong nhánh đó được thực thi.

  2. Multiple Cases: Swift cho phép bạn gộp nhiều giá trị cho một trường hợp, giúp giảm bớt mã nguồn và tăng tính đọc được.

    switch số {
    case 1, 2, 3:
        print("Số nhỏ")
    case 4, 5, 6:
        print("Số trung bình")
    default:
        print("Số khác")
    }
    
  3. Range Matching: Bạn có thể so khớp các giá trị thuộc một khoảng số nào đó, rất hữu ích khi làm việc với các số học.

    switch tuổi {
    case 0...12:
        print("Trẻ em")
    case 13...19:
        print("Thiếu niên")
    case 20...35:
        print("Người trưởng thành trẻ tuổi")
    default:
        print("Người lớn")
    }
    
  4. Tuples Matching: Bạn có thể sử dụng tuple (bộ giá trị) trong switch, giúp so khớp nhiều giá trị cùng một lúc.

    let điểm = (3, 4)
    switch điểm {
    case (0, 0):
        print("Góc tọa độ")
    case (0, _):
        print("Trên trục y")
    case (_, 0):
        print("Trên trục x")
    case (-2...2, -2...2):
        print("Gần góc xuất phát")
    default:
        print("Điểm khác")
    }
    
  5. Value Binding: Swift cho phép ràng buộc giá trị bên trong các trường hợp, điều này cực kỳ hữu ích khi bạn muốn xử lý giá trị một cách tùy chỉnh.

    let điểm = (3, 4)
    switch điểm {
    case (let x, 0):
        print("Trên trục x tại \(x)")
    case (0, let y):
        print("Trên trục y tại \(y)")
    case let (x, y):
        print("Tại tọa độ (\(x), \(y))")
    }
    

Sử dụng switch trong thực tế

Hãy xem xét một ví dụ thực tế mà cấu trúc switch có thể được áp dụng hiệu quả. Giả sử bạn đang viết một ứng dụng quản lý lớp học, bạn có thể sử dụng switch để xử lý các hành động của học sinh dựa trên điểm số của họ.

let điểm_trung_bình = 87

switch điểm_trung_bình {
case 90...100:
    print("Xuất sắc")
case 80...89:
    print("Giỏi")
case 70...79:
    print("Khá")
case 50...69:
    print("Trung bình")
default:
    print("Yếu")
}

Trong ví dụ này, tùy thuộc vào điểm trung bình của học sinh, một thông báo tương ứng sẽ được in ra.

Kết luận

Cấu trúc switch trong Swift là một công cụ linh hoạt và mạnh mẽ, cho phép lập trình viên xử lý nhiều tình huống khác nhau một cách rõ ràng và hiệu quả. Với khả năng không cần dùng từ khóa break, hỗ trợ nhiều trường hợp cùng lúc, so khớp theo dải giá trị và tuple, cũng như khả năng ràng buộc giá trị, switch trong Swift chắc chắn sẽ là một phần không thể thiếu trong hộp công cụ của bất kỳ lập trình viên nào.

Comments