ประกาศและใช้ enum แบบพื้นฐาน
แทนชุดค่าที่กำหนดตายตัว
ประกาศและใช้ enum แบบพื้นฐาน เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
ชุดตัวเลือกที่ตายตัว
ค่าบางอย่างมาจากรายการสั้น ๆ ที่ทราบแน่นอนเท่านั้น เช่น วันในสัปดาห์ ชนิดแจกแจงใช้ตั้งชื่อชุดตัวเลือกที่ตายตัวนี้ให้คุณ
การประกาศชนิดแจกแจง
คุณเขียนคำว่าชนิดแจกแจง ตามด้วยชื่อ แล้วใส่ค่าที่อนุญาตไว้ในวงเล็บปีกกา แต่ละค่าคือสมาชิกค่าคงที่หนึ่งตัวของชนิดนั้น
enum Direction { north, south, east, west }เหตุใดไม่ใช้สตริงธรรมดา
ข้อความธรรมดาอย่าง "north" อาจสะกดผิดได้ และ Dart จะไม่เตือนคุณ ชนิดแจกแจงทำให้การสะกดผิดเป็นไปไม่ได้ด้วยการจำกัดค่าไว้
การอ่านค่าชนิดแจกแจง
เข้าถึงสมาชิกด้วยชื่อชนิดแจกแจง ตามด้วยจุด แล้วจึงตามด้วยค่า ผลลัพธ์เป็นค่าที่มีชนิดจริง ไม่ใช่เพียงป้ายชื่อ
var heading = Direction.north;ชนิดแจกแจงมีชนิดของตนเอง
ตัวแปร heading ด้านบนมีชนิดเป็น Direction Dart จะปฏิเสธค่าทุกค่าที่ไม่ใช่หนึ่งในสมาชิกทั้งสี่
Direction d = Direction.east;การเปรียบเทียบค่าชนิดแจกแจง
คุณเปรียบเทียบสมาชิกของชนิดแจกแจงด้วยตัวดำเนินการเท่ากันตามปกติ ผลจะเป็นจริงเมื่อทั้งสองฝั่งเป็นสมาชิกเดียวกันอย่างแน่นอนเท่านั้น
print(Direction.north == Direction.north); // trueชนิดแจกแจงในเงื่อนไข
เนื่องจากเปรียบเทียบได้อย่างชัดเจน ชนิดแจกแจงจึงอ่านได้เป็นธรรมชาติเมื่ออยู่ในเงื่อนไข if เจตนาของโค้ดจะเห็นได้ชัดสำหรับทุกคนที่กวาดตาดูโค้ด
if (d == Direction.east) print("Turning east");การพิมพ์ค่าชนิดแจกแจง
การพิมพ์สมาชิกจะแสดงชนิดและค่าร่วมกัน เช่น Direction.north เป็นป้ายชื่อที่อ่านง่ายและมีประโยชน์ขณะตรวจแก้ข้อผิดพลาด 🧭
print(Direction.north); // Direction.northตัวอย่างจากโลกจริง
ชนิดแจกแจงเหมาะอย่างยิ่งกับสถานะ เช่น คำสั่งซื้ออาจอยู่ระหว่างรอดำเนินการ จัดส่งแล้ว หรือส่งมอบแล้ว ชนิดนี้ทำให้ทุกสถานะที่เป็นไปได้ปรากฏอย่างชัดเจน
enum Status { pending, shipped, delivered }ข้อตกลง: สมาชิกใช้รูปแบบ lowerCamelCase
ตามรูปแบบการเขียนของ Dart สมาชิกชนิดแจกแจงใช้รูปแบบ lowerCamelCase เช่น inProgress ทำให้ชนิดแจกแจงของคุณสอดคล้องกับระบบนิเวศโดยรวม
enum Phase { notStarted, inProgress, done }เมื่อใดควรใช้ชนิดแจกแจง
เลือกใช้ชนิดแจกแจงเมื่อค่าหนึ่งเป็นสมาชิกของกลุ่มเล็ก ๆ ที่ตายตัว ชัดเจนและปลอดภัยกว่าการใช้สตริงหรือตัวเลขที่ไม่จำกัด
ตรวจสอบอย่างรวดเร็ว
เหตุใดจึงควรเลือกใช้ชนิดแจกแจงแทน String ธรรมดาสำหรับค่าสถานะ
สรุปทบทวน: ชนิดแจกแจงพื้นฐาน
คุณได้เรียนรู้ว่าชนิดแจกแจงใช้ตั้งชื่อชุดตัวเลือกที่มีชนิดตายตัว อ่านค่าด้วยรูปแบบจุด และเปรียบเทียบด้วยความเท่ากัน ทั้งยังดีกว่าสตริงที่ไม่จำกัด 🎉
เรียนรู้ Dart ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “ประกาศและใช้ enum แบบพื้นฐาน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ประกาศและใช้ enum แบบพื้นฐาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ประกาศและใช้ enum แบบพื้นฐาน”
แทนชุดค่าที่กำหนดตายตัว คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ประกาศและใช้ enum แบบพื้นฐาน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม
ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศและใช้ enum แบบพื้นฐาน
- ค่า enum, index และ name
- enum ที่เพิ่มเติมด้วยฟิลด์และเมธอด
- ใช้ switch กับ enum ให้ครบทุกกรณี