Loops
การวนลูปคือการรันคำสั่งในบล๊อกของลูปซ้ำหลาย ๆ ครั้งตามจำนวนหรือเงื่อนไขที่กำหนด เช่น วนพิมพ์ค่าตั้งแต่ 0 ถึง 9
โดยทั่วไปหลาย ๆ ภาษาจะสามารถเขียนลูปได้แบบนี้
for(int i = 0; i < 10; i++)
printf("i=%d\n", i);แต่ใน Swift จะไม่สามารถเขียนแบบนี้ได้ แต่ให้เขียนเป็นลูป for in แทน เราสามารถใช้ range มาช่วยได้แบบนี้
for i in 0..<10 {
print(i)
}เราสามารถวนแบบ for each ได้ด้วยการเขียน for in แบบเดียวกัน เช่น
var shoppingList = ["catfish", "water", "tulips"]
for item in shoppingList {
print(item)
}ในกรณีที่เราต้องการ index ของ item ที่วนลูปอยู่ด้วย ให้เราใช้ tuple มารับผลลัพธ์จาก enumerated() อีกทีนึง
for (index, item) in shoppingList.enumerated() {
print("The item at index \(index) is \(item)")
}เราสามารถใส่เงื่อนไขการเข้าทำงานในลูปได้ด้วย where ทำให้ลดการใส่ if ในลูปของเราได้ด้วย
for item in shoppingList where item.starts(with: "c") {
print(item)
}ทั้งยังสามารถใช้ break ในการหยุดและออกจากลูปทันที หรือใช้ continue ในการข้ามไปยังลูปครั้งถัดไปได้เหมือนภาษาอื่น
นอกจาก for ยังมี while กับ repeat while ด้วย
ในกรณีที่ต้องการเช็คเงื่อนไขก่อนให้ใช้ while
while shoppingList.count > 0 {
print(shoppingList.remove(at: 0))
}ในกรณีที่ต้องการทำคำสั่งในบล๊อกก่อนหนึ่งรอบแล้วค่อยเช็คเงื่อนไขใช้ repeat while
repeat {
print(shoppingList.remove(at: 0))
} while shoppingList.count > 0Last updated