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 > 0
Last updated