1. Cú pháp lệnh Switch trong Swift

Trong swift, lệnh break sẽ dừng hoặc kết thúc thực thi các câu lệnh tại ngay lập tức trong luồng hiện tại. Ta có thể sử dụng lệnh break trong câu lệnh Switch để dừng thực thi một Case nào đó, hoặc trong các vòng lặp để dừng vòng lặp.

Điều này khác hoàn toàn với lệnh continue, bởi lệnh continue chỉ bỏ qua lần lặp hiện tại và tiếp tục với lần lặp tiếp theo.

Cú pháp break như sau:

1
break

Hãy xem một ví dụ khi sử dụng lệnh break trong vòng lặp For-In.

1
2
3
4
5
6
7
for i in 1...5 {
    if i == 4 {
        break
    }
    print("i = \(i)")
}
print("Kết thúc")

Chạy chương trình này bạn sẽ thu được kết quả như sau:

i = 1
i = 2
i = 3
Kết thúc

Ở lần lặp thứ 4 do thỏa điều kiện ở if i == 4 nên lệnh break được thực thi, vì vậy Swift sẽ thoát khỏi vòng lặp nên tất cả những đoạn code phía dưới đều bị bỏ qua. Cuối cùng nó in dòng chữ bên ngoài print("Kết thúc") vì dòng này không nằm ở trong vòng lặp.

2. Các ví dụ với Break trong Swift

Bây giờ ta sẽ làm thêm một vài ví dụ khác với lệnh Break trong Swift. Ở phần 1 mình đã lấy ví dụ với vòng lặp for rồi, vậy thì ở đây mình sẽ tiếp tục với vòng lặp while.

Break trong vòng lặp While

1
2
3
4
5
6
7
8
9
10
11
12
13
var currentLevel:Int = 1, finalLevel:Int = 2
var isLifeAvailable = true
while (isLifeAvailable) {
    
    if currentLevel > finalLevel {
        print("Game hoàn thành")
        break
    }
    //chơi game game và qua level tiếp theo
    currentLevel += 1
    print("Level tiếp theo")
}
print("Bên ngoài vòng lặp")

Kết quả:

Level tiếp theo
Level tiếp theo
Game hoàn thành
Bên ngoài vòng lặp

Trong ví dụ này nếu không có dòng break thì sẽ bị lặp vô hạn. Lý do là trong thân vòng lặp không hề có đoạn code nào thiết lập isLifeAvailable = false. Tuy nhiên nhờ lệnh break mà ta giải quyết được bài toán.

Nhìn kỹ hơn thì ta không cần biến isLifeAvailable cũng được, lúc này vòng lặp while sẽ chỉnh lai như sau:

1
2
3
while (true) {
    /// các đoạn code
]

Break trong vòng lặp lồng nhau

Lệnh break chỉ dừng vòng lặp trong một phạm vi nhất định. Nếu chương trình có nhiều vòng lặp lồng nhau, nếu bạn đặt lệnh break ở vòng lặp nào thì chỉ có vòng lặp đó bị ảnh hưởng bởi Break mà thôi.

1
2
3
4
5
6
7
8
9
for j in 1...2 {
    for i in 1...5 {
        if i == 4 {
            break
        }
        print("i = \(i)")
    }
    print("j = \(j)")
}

Kết quả:

i = 1
i = 2
i = 3
j = 1
i = 1
i = 2
i = 3
j = 2

Trong chương trình trên, câu lệnh break nằm trong if i == 4 chỉ chấm dứt việc thực hiện vòng lặp bên for i in1 ... 5. Tuy nhiên, nó tiếp tục thực hiện vòng lặp bên ngoài for j in1 ... 2.

Trường hợp bạn muốn thoát luôn cả vòng lặp bên ngoài thì làm thế nào? Lúc này bạn sẽ dùng label để lệnh Break trỏ tới. Hình ảnh minh họa như sau:

Xem ví dụ sau để hiểu rõ hơn.

1
2
3
4
5
6
7
8
9
outerloop: for j in 1...2{
    innerloop: for i in 1...5 {
        if i == 4 {
            break outerloop
        }
        print("i = \(i)")
    }
    print("j = \(j)")
}

Break trong Switch Case

Trong swift nếu chúng ta sử dụng câu lệnh break trong câu lệnh case thì nó sẽ ngắt toàn bộ code trong case đó, và lập tức thoát khỏi câu lệnh Switch.

Sau đây là ví dụ về việc sử dụng câu lệnh break trong Switch Case.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func Year(year: Int) -> Bool {
    switch (year) {
        case let number where (number % 200) == 0 && (number % 500) != 0:
        break
    case let number where (number % 5) == 0:
        return true
    default:
        break
    }
    return false
}
print(Year(2014))
print(Year(2000))
print(Year(1900))

Nếu bạn chưa học về function thì có thể bỏ qua trường hợp này, sau này quay lại học sau nhé.

Cảm ơn các bạn đã theo dõi bài viết này.

Theo: freetuts.net

 

 

 

ĐĂNG KÝ THÀNH VIÊN

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

NẾU NỘI DUNG HỮU ÍCH HÃY XEM QUẢNG CÁO ĐỂ ỦNG HỘ

Được quan tâm nhiều nhất

  • Phim Ngắn Đột Kích - Phiên bản 10 năm trước

  • Apple Watch Series 4 Teardown

  • iPhone 11 Pro Max Teardown - Tiny Motherboard & BIG Battery!

  • Apple Watch Series 5 Teardown - Always on Display Explained

Bạn thấy bài viết này thế nào?
Thể hiện yêu thương tác giả ở đây nhé!

Thích bài viết

thích

Chia sẻ ngay!

phuongle

Thành viên từ: 10/12/2019

Điểm uy tín: 5,987

SMod: 1,289 hướng dẫn đã chia sẻ

Team

Lập Trình Thành viên của Lập Trình

1 Thành viên

1,289 bài viết

Thêm bình luận

Bình luận bằng tài khoản Facebook

After viewing your support content - Please click advertisement for Support & Donate us team! Đóng