Switch với khoảng giá trị
Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 30 trên 86.
Câu lệnh switch trở nên mạnh mẽ hơn khi bạn dùng khoảng giá trị thay vì từng giá trị riêng lẻ. Cách này rất phù hợp để chia số thành các nhóm, chẳng hạn như đổi điểm số thành xếp loại.
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}Toán tử ... tạo một phạm vi đóng bao gồm cả hai điểm cuối, nên 90...100 khớp với 90, 91 và tiếp tục đến 100. Toán tử ..< tạo một phạm vi nửa mở, không bao gồm giới hạn trên: 80..<90 khớp với các giá trị từ 80 đến 89.
Swift kiểm tra từng trường hợp theo thứ tự và thực thi trường hợp khớp đầu tiên. Vì điểm số của chúng ta là 85, nên nó nằm trong phạm vi 80..<90, do đó "B" được in ra. Cách này gọn gàng hơn nhiều so với việc viết nhiều điều kiện else if cùng các toán tử so sánh.
Thử thách
DễViết một hàm (function) có tên getAgeCategory, nhận age và trả về danh mục giai đoạn cuộc đời dựa trên các khoảng tuổi.
Dùng câu lệnh switch với các khoảng tuổi để phân loại tuổi thành một trong năm giai đoạn cuộc đời.
Điều kiện:
0...2: trả về"Infant"3...12: trả về"Child"13...19: trả về"Teenager"20...64: trả về"Adult"65...120: trả về"Senior"- Mọi giá trị khác: trả về
"Invalid age"
Tham số:
age(Int): Tuổi của người đó
Giá trị trả về: Danh mục giai đoạn cuộc đời dưới dạng String
Tự làm thử
func getAgeCategory(age: Int) -> String {
// Viết code ở đây
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift