0Pricing
Zig Academy · บทเรียน

break, continue และลูปที่มีป้ายกำกับ

ควบคุมลูปอย่างแม่นยำด้วยป้ายกำกับ

break, continue และลูปที่มีป้ายกำกับ เป็นบทเรียน Zig Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Zig Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คำสั่งควบคุมลูปสองแบบ

ภายในลูปใด ๆ break จะออกจากลูปทั้งหมด ส่วน continue จะกระโดดไปยังรอบถัดไป ทั้งสองคำสั่งช่วยให้คุณควบคุมลำดับการทำงานได้อย่างละเอียด 🎛️

break ออกทันที

เมื่อ break ทำงาน ลูปจะหยุดทันที และการทำงานจะดำเนินต่อที่บรรทัดหลังลูปโดยตรง ส่วนที่เหลือในบอดีจะไม่ทำงาน

for (items) |x| {
    if (x == 0) break;
    use(x);
}

continue ข้ามไปข้างหน้า

continue จะยกเลิกส่วนที่เหลือของรอบปัจจุบันและไปยังรอบถัดไป โดยลูปเองยังคงทำงานต่อ

for (items) |x| {
    if (x < 0) continue;
    total += x;
}

คำสั่งเหล่านี้มีผลกับลูปชั้นในสุด

โดยค่าเริ่มต้น break และ continue จะมีผลเฉพาะกับลูปชั้นในสุดที่ครอบคำสั่งเหล่านั้นอยู่ ลูปชั้นนอกจะทำงานต่อราวกับไม่มีอะไรเกิดขึ้น

ตั้งชื่อให้ลูป

คุณสามารถติดป้ายชื่อให้ลูปด้วยชื่อและโคลอนได้ ป้ายชื่อนี้ช่วยให้คุณระบุลูปเป้าหมายจากส่วนที่อยู่ลึกเข้าไปได้

outer: for (rows) |row| {
    for (row) |cell| {
        check(cell);
    }
}

ใช้ break ไปยังป้ายชื่อ

เขียน break :outer เพื่อออกจากลูปชั้นนอกที่มีชื่อโดยตรงจากภายในลูปซ้อน คำสั่งเดียวจะคลายการทำงานออกทั้งสองระดับ

outer: for (rows) |row| {
    for (row) |cell| {
        if (cell == target) break :outer;
    }
}

ใช้ continue ไปยังป้ายชื่อ

ใช้ continue :outer เพื่อข้ามไปยังรอบถัดไปของลูปชั้นนอกที่มีป้ายชื่อ โดยละทิ้งส่วนที่เหลือของลูปชั้นในทันที

ป้ายชื่อแทนแฟล็ก

ก่อนมีป้ายชื่อ คุณอาจตั้งแฟล็ก found แล้วตรวจสอบหลังแต่ละลูป การใช้ break พร้อมป้ายชื่อช่วยตัดโค้ดซ้ำซ้อนนั้นออกและอ่านได้ชัดเจนกว่า

break พร้อมป้ายชื่อคืนค่าได้

ลูปที่มีป้ายชื่อสามารถเป็นนิพจน์ได้เช่นกัน break :outer value จะส่งค่านั้นกลับมาเป็นผลลัพธ์ของลูปที่มีป้ายชื่อทั้งหมด

const hit = outer: for (rows) |row| {
    for (row) |c| {
        if (c == target) break :outer c;
    }
} else 0;

บล็อกก็ใช้ป้ายชื่อได้

ป้ายชื่อไม่ได้มีไว้สำหรับลูปเท่านั้น บล็อกทั่วไปก็สามารถมีป้ายชื่อได้ และ break พร้อมค่าจะเปลี่ยนบล็อกนั้นให้เป็นนิพจน์

const x = blk: {
    const t = compute();
    break :blk t * 2;
};

ทำให้การซ้อนอยู่ในระดับตื้น

การควบคุมด้วยป้ายกำกับมีประสิทธิภาพ แต่ลูปที่ซ้อนกันลึกทำให้อ่านได้ยาก ควรใช้ป้ายกำกับเมื่อช่วยให้โค้ดชัดเจน ไม่ใช่เพื่อกลบเกลื่อนโค้ดที่พันกัน

ตรวจสอบอย่างรวดเร็ว

จากลูปด้านใน คุณต้องการออกจากลูปด้านนอกที่ชื่อ outer ควรใช้คำสั่งใด

ทบทวน

คุณเข้าใจ break และ continue แล้ว ทั้งการทำงานกับลูปชั้นในสุดโดยปริยาย ลูปที่มีป้ายกำกับสำหรับการซ้อน คำสั่ง break ที่คืนค่า และบล็อกที่มีป้ายกำกับ 🎯

คำถามที่พบบ่อย

บทเรียน “break, continue และลูปที่มีป้ายกำกับ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “break, continue และลูปที่มีป้ายกำกับ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Zig Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Zig Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “break, continue และลูปที่มีป้ายกำกับ”

ควบคุมลูปอย่างแม่นยำด้วยป้ายกำกับ คุณปฏิบัติ Zig Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Zig Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Zig Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “break, continue และลูปที่มีป้ายกำกับ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Zig Academy นี้ได้ไหม

ได้ บทเรียน Zig Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. if ในฐานะคำสั่งและนิพจน์
  2. ลูป while และนิพจน์ continue
  3. ลูป for เหนือช่วงและรายการ
  4. break, continue และลูปที่มีป้ายกำกับ
← กลับไปที่ Zig Academy