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

const สำหรับค่าที่ไม่เปลี่ยนแปลง

การผูกค่าที่แก้ไขไม่ได้เป็นค่าเริ่มต้น

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

เริ่มต้นทำความรู้จักการผูกค่า

ใน Zig คุณตั้งชื่อให้ค่าด้วย binding ตัวเลือกแรกคือกำหนดว่าชื่อนั้นจะเปลี่ยนค่าได้ภายหลังหรือไม่

ทำความรู้จัก const

คีย์เวิร์ด const สร้างชื่อที่ไม่สามารถกำหนดค่าใหม่ได้ วิธีนี้ปลอดภัยและเป็นค่าเริ่มต้นสำหรับการตั้งชื่อสิ่งต่าง ๆ ใน Zig

const pi = 3.14159;

เลือกให้เปลี่ยนแปลงไม่ได้

การผูกค่าด้วย const เป็นแบบ immutable: เมื่อชื่อนั้นชี้ไปยังค่าใดแล้ว ความเชื่อมโยงนั้นจะถูกล็อกไว้ ทำให้โค้ดอ่านและทำความเข้าใจได้ง่ายขึ้น

การกำหนดค่าใหม่เป็นข้อผิดพลาด

หากลองกำหนดค่าใหม่ให้ const คอมไพเลอร์จะหยุดการทำงาน Zig จะแจ้ง error ที่ชัดเจน แทนที่จะปล่อยให้ข้อผิดพลาดเล็ดลอดไปอย่างเงียบ ๆ

const x = 5;
x = 6; // error: cannot assign to constant

กำหนดค่าเมื่อประกาศ

คุณกำหนดค่าของ const ตรงจุดที่ declare มัน จึงไม่มี const ว่างที่รอให้เติมค่าในภายหลัง

const greeting = "Hello, Zig";

ใช้ const กับการตั้งค่า

ค่าตัวเลขคงที่ เช่น ขนาดของ buffer หรือจำนวนสูงสุด เหมาะอย่างยิ่งกับ const เพราะช่วยตั้งชื่อค่าให้ชัดเจนและรับประกันว่าค่านั้นจะไม่เปลี่ยน

const max_users = 100;

เลือกใช้ const ก่อน

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

ยังคงอนุมานชนิดข้อมูลได้

โดยทั่วไปคุณไม่ต้องเขียนชนิดข้อมูลต่อท้าย const Zig จะ infers ชนิดข้อมูลจากค่า ดังนั้น const count = 0 จึงทำงานเป็นจำนวนเต็มได้ทันที

const count = 0;

const ในระดับบนสุด

ค่าคงที่ที่ประกาศนอกฟังก์ชันใด ๆ จะกลายเป็น globals ที่ใช้ได้ทั่วทั้งไฟล์ โดยจะถูกประเมินค่าเพียงครั้งเดียวและใช้ร่วมกันทั่วทั้งโปรแกรม

const version = "1.0.0";

การนำเข้าจะคืนค่าเป็น const

คุณมักจะเห็น const std = @import ผลลัพธ์จากการนำเข้าคือค่า และการผูกค่านั้นด้วย const จะทำให้โมดูลดังกล่าวไม่เปลี่ยนแปลง

const std = @import("std");

โค้ดที่อธิบายตัวเอง

เมื่อเห็น const ผู้อ่านก็ทราบว่าค่านั้นจะไม่เปลี่ยน คีย์เวิร์ดเดียวนี้จึงทำหน้าที่เป็น promise เล็ก ๆ ที่เชื่อถือได้เกี่ยวกับเจตนาของคุณ

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

คุณประกาศ const limit = 10 หากภายหลังเขียน limit = 20 จะเกิดอะไรขึ้น

สรุป

คุณได้เรียนรู้ว่า const ใช้ตั้งชื่อให้ค่าที่ไม่เปลี่ยนแปลง กำหนดค่าให้มันครั้งเดียว ให้ Zig อนุมานชนิดข้อมูล และเลือกใช้ const เป็นค่าเริ่มต้น 🔒

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

บทเรียน “const สำหรับค่าที่ไม่เปลี่ยนแปลง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “const สำหรับค่าที่ไม่เปลี่ยนแปลง”

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

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

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

บทเรียน “const สำหรับค่าที่ไม่เปลี่ยนแปลง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. const สำหรับค่าที่ไม่เปลี่ยนแปลง
  2. var สำหรับสถานะที่เปลี่ยนแปลงได้
  3. การอนุมานชนิดเทียบกับการระบุชนิดอย่างชัดเจน
  4. undefined และหน่วยความจำที่ยังไม่ได้เริ่มต้น
← กลับไปที่ Zig Academy