Vòng lặp For-In trong Swift
Ở bài trước chúng ta đã được tìm hiểu vòng lặp for trong Swift, vậy thì ở bài này mình sẽ giới thiệu một vòng lặp tương tự, đó là vòng lặp for..in.
Về ý nghĩa thì cả hai vòng lặp trên đều giống nhau, nhưng về cấu trúc thì for-in chỉ phù hợp với việc lặp dữ liệu của một kiểu dữ liệu dạng danh sách xác định như mảng và các collection khác.
1. Cú pháp For - In trong Swift
Bạn sử dụng vòng lặp for-in để lặp qua từng phần tử trong danh sách, chẳng hạn như các mục trong một mảng, phạm vi số hoặc ký tự trong một chuỗi. Xem cấu trúc sơ đồ sau để hiểu rõ hơn về vòng lặp for-in này.
Cú pháp vòng lặp này như sau:
Bài viết này được đăng tại [free tuts .net]
for item_name in list_name { // your statements }
Trong đó:
- Item_name đại diện cho các phần tử trong mỗi lần lặp
- list_name là danh sách các phần tử cần lặp
Ví dụ này sử dụng vòng lặp for-in để lặp lại các mục trong một mảng:
let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Xin chào, \(name)!") } // Xin chào, Anna! // Xin chào, Alex! // Xin chào, Brian! // Xin chào, Jack!
2. Ví dụ For - In trong Swift
Bây giờ ta sẽ làm một vài ví dụ, và thông qua những ví dụ này bạn sẽ biết thêm một vài trường hợp sủ dụng vòng lặp for-in trong Swift.
Dictionary
Ta có thể sử dụng vòng lặp for-in để lặp qua từng phần tử của kiểu dữ liệu dictionary. Như ta biết, kiểu dictionary là tập hợp của nhiều phần tử, mỗi phần tử có dạng (key, value), vì vậy ta cũng sử dụng cấu trúc tương tự để khai báo trong vòng lặp.
let numberOfLegs = ["Nhện": 8, "Kiến": 6, "Mèo": 4] for (animalName, legCount) in numberOfLegs { print("\(animalName)s có \(legCount) chân") } // mèo có 4 chân // kiến có 6 chân // nhện có 8 chân
Vì kiểu dictionary không có thứ tự nên việc lặp là ngẫu nhiên, nó không giống mảng.
Range Operators
Range Operators là toán tử chỉ phạm vi. Chúng ta có những loại range như: phạm vi mở, phạm vi đóng phần tử cuối, ...
Ví dụ: In ra 59 lần tick
let minutes = 60 for tickMark in 0..<minutes { print(tickMark ) }
Trong ví dụ này ta chỉ in tới 59 thôi, tai vì 60 đã vi phạm vào range do toán tử ..<
.
Array
Trong Swift, ta có thể sử dụng for-in để lặp qua từng phần tử trong mảng như ví dụ dưới đây.
var lstNames: [String] = ["Suresh","Khawar"] for index in lstNames { print( "Name of Developer is \(index)") }
Kết quả sẽ như sau:
Name of Developer Suresh Name of Developer Khawar
Như vậy là mình đã giới thiệu xong cách sử dụng vòng lặp For-In trong Swift. Đây là một vòng lặp rất hay và được ứng dụng cũng rất nhiều, nhất là sau này sẽ kết hợp để lặp qua với dữ liệu trả về từ database.
Bài For-In này mình sẽ dừng ở đây, bài tiếp theo chúng ta sẽ học một vòng lặp mới mà không biết trước số lần lặp là bao nhiêu, đó là vòng lặp while.