Dart Programming - ลูป

ในบางครั้งคำสั่งบางอย่างจำเป็นต้องมีการดำเนินการซ้ำ ลูปเป็นวิธีที่ดีในการทำเช่นเดียวกัน ลูปแสดงถึงชุดคำสั่งที่ต้องทำซ้ำ ในบริบทของลูปการทำซ้ำจะเรียกว่าไฟล์iteration.

รูปต่อไปนี้แสดงให้เห็นถึงการแบ่งประเภทของลูป -

เริ่มต้นการสนทนาด้วย Definite Loops ลูปที่มีจำนวนการวนซ้ำแน่นอน / คงที่ถูกเรียกว่า adefinite loop.

ซีเนียร์ No ห่วงและคำอธิบาย
1 สำหรับห่วง

forลูปคือการนำลูปที่แน่นอนมาใช้ สำหรับลูปเรียกใช้บล็อกรหัสตามจำนวนครั้งที่ระบุ สามารถใช้เพื่อวนซ้ำชุดของค่าคงที่เช่นอาร์เรย์

2 สำหรับ… in Loop

for ... in loop ใช้ในการวนซ้ำคุณสมบัติของวัตถุ

ตอนนี้เรามาพูดถึงลูปที่ไม่มีกำหนด ใช้การวนซ้ำแบบไม่ จำกัด เมื่อจำนวนการวนซ้ำในลูปไม่แน่นอนหรือไม่ทราบ สามารถใช้ลูปไม่ จำกัด ได้โดยใช้ -

ซีเนียร์ No ห่วงและคำอธิบาย
1 ในขณะที่วนซ้ำ

ลูป while ดำเนินการคำสั่งทุกครั้งที่เงื่อนไขที่ระบุประเมินเป็นจริง กล่าวอีกนัยหนึ่งลูปจะประเมินเงื่อนไขก่อนที่จะดำเนินการบล็อกโค้ด

2 ทำ…ในขณะที่ Loop

do … while loop คล้ายกับ while loop ยกเว้นว่า do … while loop จะไม่ประเมินเงื่อนไขในครั้งแรกที่ loop ทำงาน

ให้เราไปต่อและพูดคุยเกี่ยวกับ Loop Control Statements ของ Dart.

ซีเนียร์ No คำชี้แจงและคำอธิบายการควบคุม
1 ทำลายคำชี้แจง

breakคำสั่งใช้ในการควบคุมออกจากโครงสร้าง การใช้breakในลูปทำให้โปรแกรมออกจากลูป ต่อไปนี้เป็นตัวอย่างของไฟล์break คำให้การ.

2 ดำเนินการต่อคำชี้แจง

continue คำสั่งข้ามคำสั่งที่ตามมาในการวนซ้ำปัจจุบันและควบคุมกลับไปที่จุดเริ่มต้นของลูป

การใช้ป้ายกำกับเพื่อควบคุมการไหล

labelเป็นเพียงตัวระบุตามด้วยเครื่องหมายจุดคู่ (:) ที่ใช้กับคำสั่งหรือบล็อกรหัส สามารถใช้ฉลากกับไฟล์break และ continue เพื่อควบคุมการไหลอย่างแม่นยำยิ่งขึ้น

ไม่อนุญาตให้มีการแบ่งบรรทัดระหว่างไฟล์ ‘continue’ หรือ ‘break’คำสั่งและชื่อป้ายกำกับ นอกจากนี้ไม่ควรมีคำสั่งอื่นใดระหว่างชื่อป้ายกำกับและลูปที่เกี่ยวข้อง

ตัวอย่าง: ป้ายกำกับด้วยตัวแบ่ง

void main() { 
   outerloop: // This is the label name 
   
   for (var i = 0; i < 5; i++) { 
      print("Innerloop: ${i}"); 
      innerloop: 
      
      for (var j = 0; j < 5; j++) { 
         if (j > 3 ) break ; 
         
         // Quit the innermost loop 
         if (i == 2) break innerloop; 
         
         // Do the same thing 
         if (i == 4) break outerloop; 
         
         // Quit the outer loop 
         print("Innerloop: ${j}"); 
      } 
   } 
}

ดังต่อไปนี้ output จะแสดงเมื่อดำเนินการสำเร็จของรหัสข้างต้น

Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4

ตัวอย่าง: ป้ายกำกับพร้อมดำเนินการต่อ

void main() { 
   outerloop: // This is the label name 
   
   for (var i = 0; i < 3; i++) { 
      print("Outerloop:${i}"); 
      
      for (var j = 0; j < 5; j++) { 
         if (j == 3){ 
            continue outerloop; 
         } 
         print("Innerloop:${j}"); 
      } 
   } 
}

ผลลัพธ์ต่อไปนี้จะแสดงเมื่อดำเนินการตามโค้ดด้านบนสำเร็จ

Outerloop: 0 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 

Outerloop: 1 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2 

Outerloop: 2 
Innerloop: 0 
Innerloop: 1 
Innerloop: 2