Trong lập trình Swift, cấu trúc switch
là một công cụ mạnh mẽ giúp kiểm tra các giá trị khác nhau và thực hiện các hành động tương ứng. Điều này có thể đơn giản hơn và rõ ràng hơn so với việc sử dụng nhiều câu lệnh if-else
. Một trong những tính năng vượt trội của cấu trúc switch
là khả năng sử dụng từ khóa case
để xác định các điều kiện cụ thể cần kiểm tra.
Cấu trúc cơ bản của switch
Phần cơ bản nhất của switch
trong Swift bao gồm kiểm tra một biến hoặc biểu thức và so sánh nó với các giá trị khác nhau được xác định bởi từ khóa case
. Dưới đây là một ví dụ đơn giản:
let fruit = "Apple"
switch fruit {
case "Apple":
print("This is an apple.")
case "Banana":
print("This is a banana.")
default:
print("Unknown fruit.")
}
Điều kiện với từ khóa case
Một tính năng mạnh mẽ của switch
trong Swift là khả năng mở rộng điều kiện kiểm tra thông qua việc sử dụng các toán tử logic, các biểu thức giá trị, và thậm chí là khoảng số.
Sử dụng các biểu thức giá trị
Bạn có thể sử dụng biểu thức số học và chuỗi trong các trường hợp case
:
let number = 5
switch number {
case 0:
print("Number is zero.")
case 1...10:
print("Number is between 1 and 10.")
default:
print("Number is out of range.")
}
Trong ví dụ này, case 1...10
sẽ bao gồm tất cả các số từ 1 đến 10.
Sử dụng điều kiện với where
Bạn có thể sử dụng từ khóa where
để thêm các điều kiện cụ thể vào từng trường hợp:
let age = 25
switch age {
case let x where x < 18:
print("Underage.")
case let x where x >= 18 && x < 30:
print("Young adult.")
default:
print("Adult.")
}
Sử dụng nhiều trường hợp trong một case
Swift cũng cho phép bạn nhóm nhiều giá trị lại với nhau trong một case
, cách này giúp giảm sự tường minh cho đoạn mã của bạn:
let grade = "B"
switch grade {
case "A", "B", "C":
print("Passing grade.")
case "D", "F":
print("Failing grade.")
default:
print("Grade not recognized.")
}
Kết hợp giữa case
và các kiểu dữ liệu
Cấu trúc switch
trong Swift còn linh hoạt đến mức cho phép bạn làm việc với các kiểu dữ liệu khác nhau như tupless và enums.
Tuples
Với tupless, bạn có thể dễ dàng kết hợp nhiều giá trị với nhau trong một điều kiện case
:
let coordinates = (2, 3)
switch coordinates {
case (0, 0):
print("Origin point.")
case (let x, 0):
print("On x-axis at \(x).")
case (0, let y):
print("On y-axis at \(y).")
case let (x, y):
print("Point at (\(x), \(y)).")
}
Enums
Sử dụng enums
làm giá trị kiểm tra giúp mã nguồn của bạn dễ hiểu và cấu trúc hơn:
enum Direction {
case north, south, east, west
}
let direction = Direction.north
switch direction {
case .north:
print("Going north.")
case .south:
print("Going south.")
case .east:
print("Going east.")
case .west:
print("Going west.")
}
Kết luận
Cấu trúc switch
trong Swift mạnh mẽ và linh hoạt nhờ phần nâng cao của từ khóa case
. Bạn có thể dễ dàng tổ chức điều kiện kiểm tra phức tạp mà vẫn duy trì tính rõ ràng và dễ đọc cho mã nguồn của mình, đồng thời tận dụng khả năng hỗ trợ nhiều loại dữ liệu khác nhau. Bằng cách này, bạn có thể giảm thiểu lỗi và tăng hiệu quả thực thi chương trình.
Comments