Continue
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 46 trên 86.
Trong khi break thoát hoàn toàn khỏi vòng lặp, đôi khi bạn chỉ muốn bỏ qua lần lặp hiện tại và chuyển sang lần tiếp theo. Câu lệnh continue làm đúng điều đó.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// Đầu ra: 1, 2, 4, 5Khi number bằng 3, câu lệnh continue bỏ qua phần còn lại của lần lặp đó. Vòng lặp không dừng lại. Nó chỉ chuyển sang giá trị tiếp theo. Bạn sẽ thấy 3 không xuất hiện trong đầu ra, nhưng 4 và 5 vẫn được in ra.
Cách này hữu ích khi bạn muốn lọc bỏ một số giá trị mà không dừng toàn bộ vòng lặp. Ví dụ: chỉ in ra các số chẵn:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// Đầu ra: 2, 4, 6Điểm khác biệt chính: break dừng hoàn toàn vòng lặp, còn continue chỉ bỏ qua lần lặp hiện tại để chuyển sang lần tiếp theo.
Thử thách
DễViết một hàm (function) sumExcludingMultiples nhận limit và skip, rồi trả về tổng của tất cả các số từ 1 đến limit, không tính những số là bội số của skip.
Dùng vòng lặp với continue để bỏ qua các bội số của số đã cho trong khi cộng dồn các giá trị còn lại.
Lô-gic:
- Lặp qua các số từ 1 đến
limit - Nếu số hiện tại là bội số của
skip, dùngcontinueđể bỏ qua số đó - Nếu không, cộng số đó vào tổng đang tính
- Trả về tổng cuối cùng
Tham số:
limit(Int): Giới hạn trên của phạm vi, bao gồm cả giới hạn nàyskip(Int): Bỏ qua các số chia hết cho giá trị này
Giá trị trả về: Tổng của tất cả các số từ 1 đến limit không phải là bội số của skip (Int)
Ví dụ: nếu limit là 10 và skip là 3, hàm sẽ bỏ qua 3, 6 và 9, nên trả về 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37.
Tự làm thử
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// 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