Zig Academy · บทเรียน

if ในฐานะคำสั่งและนิพจน์

แตกแขนงและคืนค่าได้ในรูปแบบเดียว

บทเรียน 1 จาก 413 ขั้นตอน

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

แตกแขนงด้วย if

ใช้ if เพื่อเลือกเส้นทาง Zig จะทำงานในบล็อกแรกเมื่อเงื่อนไขเป็นจริง และข้ามบล็อกนั้นเมื่อเงื่อนไขเป็นเท็จ เรียบง่ายและชัดเจน 🌿

if (score > 50) {
    std.debug.print("Pass\n", .{});
}

เงื่อนไขต้องเป็น bool

เงื่อนไขในวงเล็บต้องเป็นค่า bool จริง Zig ไม่ยอมรับจำนวนเต็มหรือตัวชี้ในตำแหน่งนี้ จึงไม่มีการเดาว่าค่าใดควรถือเป็นจริงหรือเท็จ

เพิ่ม else

จับคู่ if กับ else เพื่อจัดการกรณีที่เงื่อนไขเป็นเท็จ จะมีบล็อกใดบล็อกหนึ่งทำงานพอดี ไม่ใช่ทั้งสองบล็อกและไม่ใช่ไม่มีบล็อกใดทำงาน

if (ready) {
    start();
} else {
    wait();
}

เชื่อมต่อด้วย else if

เรียงการทดสอบด้วย else if เพื่อเลือกหนึ่งแขนงจากหลายแขนง Zig จะตรวจสอบจากบนลงล่างและหยุดที่รายการแรกที่ตรงกัน

if (n < 0) {
    sign = -1;
} else if (n > 0) {
    sign = 1;
} else {
    sign = 0;
}

if เป็นนิพจน์

ใน Zig if สามารถสร้างค่าได้เช่นกัน ทั้งสองแขนงจะคืนค่าบางอย่าง และ if ทั้งหมดจะกลายเป็นผลลัพธ์นั้นซึ่งคุณสามารถนำไปกำหนดค่าได้

const max = if (a > b) a else b;

ทั้งสองแขนงต้องมีชนิดตรงกัน

เมื่อ if ให้ค่า ทั้งสองแขนงต้องใช้ชนิดเดียวกัน คอมไพเลอร์จะปรับให้ทั้งสองสอดคล้องกัน เพื่อให้ผลลัพธ์มีชนิดเดียวที่คาดเดาได้

ไม่จำเป็นต้องใช้เทอร์นารี

Zig ไม่มีตัวดำเนินการเทอร์นารี รูปแบบนิพจน์ของ if ทำหน้าที่นี้ได้อย่างเรียบร้อย ทำให้มีวิธีเขียนการเลือกเพียงรูปแบบเดียว

แกะค่าจากออปชันนัล

if สามารถทดสอบและแกะค่าจากออปชันนัลได้ในขั้นตอนเดียว ชื่อที่จับไว้จะเก็บค่าภายในไว้เฉพาะเมื่อค่านั้นมีอยู่

if (maybe_user) |user| {
    greet(user);
}

จับข้อผิดพลาดด้วย if

if ยังสามารถแยกยูเนียนข้อผิดพลาดออกเป็นส่วน ๆ ได้ แขนง else สามารถจับค่าข้อผิดพลาดไว้ได้เมื่อนิพจน์ทำงานไม่สำเร็จ

if (parse(text)) |value| {
    use(value);
} else |err| {
    report(err);
}

จำเป็นต้องมีวงเล็บปีกกา

Zig ต้องมีวงเล็บปีกกาครอบบอดีของ if เสมอ แม้จะมีเพียงบรรทัดเดียว วิธีนี้ช่วยกำจัดบั๊กจากคำสั่งที่กำกวมได้ทั้งกลุ่ม

คืนค่าก่อนเวลา

รูปแบบที่ใช้บ่อยคือการคืนค่าก่อนเวลาภายใน if จัดการกรณีพิเศษก่อน แล้วให้ส่วนที่เหลือของฟังก์ชันอ่านต่อจากบนลงล่างได้ตรงไปตรงมา

if (list.len == 0) return;

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

คุณต้องการให้ max เก็บค่าที่มากกว่าระหว่าง a กับ b ภายในบรรทัดเดียว รูปแบบใดของ Zig ที่ใช้ได้

สรุป

คุณได้รู้จัก if ในฐานะทั้งคำสั่งและนิพจน์ ทั้งเงื่อนไขแบบ bool, else และ else if, แขนงที่คืนค่า และการจับค่าออปชันนัลหรือข้อผิดพลาด 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Zig ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

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

บทเรียน “if ในฐานะคำสั่งและนิพจน์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “if ในฐานะคำสั่งและนิพจน์”

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

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

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

บทเรียน “if ในฐานะคำสั่งและนิพจน์” ใช้เวลานานแค่ไหน

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

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

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

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

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