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

ค่าเริ่มต้นและ required

กำหนดให้พารามิเตอร์เป็นตัวเลือกหรือจำเป็น

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

ค่าเผื่อที่เหมาะสม

ค่าเริ่มต้นคือค่าเผื่อที่ Dart ใช้เมื่อผู้เรียกใช้ข้ามพารามิเตอร์ ช่วยให้ผู้เรียกใช้ไม่ต้องส่งค่าที่เห็นได้ชัดเจนทุกครั้ง

ค่าเริ่มต้นของพารามิเตอร์แบบระบุชื่อ

กำหนดค่าเริ่มต้นให้พารามิเตอร์แบบระบุชื่อด้วยเครื่องหมายเท่ากับ หากผู้เรียกใช้ไม่ระบุค่า Dart จะใช้ค่านั้นแทน null อย่างเงียบ ๆ

void greet({String name = "friend"}) {
  print("Hi $name");
}

การเรียกใช้ด้วยค่าเริ่มต้น

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

greet();            // Hi friend
greet(name: "Ada"); // Hi Ada

ค่าเริ่มต้นของพารามิเตอร์ตามตำแหน่งแบบตัวเลือก

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

int pow(int base, [int exp = 2]) {
  return base * exp;
}

ค่าเริ่มต้นต้องเป็นค่าคงที่

ค่าเริ่มต้นต้องเป็นค่าคงที่ขณะคอมไพล์ ลิเทอรัลและค่าคงที่ที่ประกาศด้วย const ใช้ได้ แต่ตัวแปรทั่วไปหรือการเรียกใช้ฟังก์ชันใช้ไม่ได้

void f({int n = 10}) {} // ok
// void g({int n = x}) {} // error

คำสำคัญ required

ทำเครื่องหมายพารามิเตอร์แบบระบุชื่อด้วย required เพื่อบังคับให้ผู้เรียกใช้ต้องระบุค่า หากลืมระบุ จะกลายเป็นข้อผิดพลาดขณะคอมไพล์ ไม่ใช่ปัญหาที่เกิดขึ้นโดยไม่คาดคิดขณะทำงาน

void send({required String to}) {}

เหตุผลที่ required มีความสำคัญ

พารามิเตอร์แบบระบุชื่อเป็นตัวเลือกโดยค่าเริ่มต้น ดังนั้นค่าของคีย์อาจหายไปได้ requiredรับประกันว่าผู้เรียกใช้จะส่งค่านั้นมาเสมอ 🔒

required กับชนิดที่ไม่รับค่า null

พารามิเตอร์แบบระบุชื่อที่ไม่รับค่า null ต้องเป็นrequiredหรือมีค่าเริ่มต้น มิฉะนั้น Dart จะรับประกันไม่ได้ว่าพารามิเตอร์นั้นมีค่า

void box({required int w, int h = 10}) {}

การผสม required และค่าเริ่มต้น

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

void user({required String id, bool active = true}) {}

ชนิดที่รับค่า null โดยไม่มีค่าเริ่มต้น

หากพารามิเตอร์แบบระบุชื่อรับค่า null พารามิเตอร์นั้นก็สามารถมีค่าเริ่มต้นเป็น null ได้ ไม่จำเป็นต้องใช้ required หรือระบุค่าเริ่มต้นอย่างชัดเจน

void note({String? text}) {} // text may be null

จุดเรียกใช้ที่สะอาดขึ้น

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

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

มาทบทวนกันว่าคุณเข้าใจ required และค่าเริ่มต้นแล้วหรือยัง

ทบทวน

ตอนนี้คุณสามารถกำหนดค่าเริ่มต้นให้พารามิเตอร์ตัวเลือก และใช้ required เพื่อบังคับให้พารามิเตอร์สำคัญเป็นสิ่งจำเป็นได้แล้ว ฟังก์ชันของคุณจึงปลอดภัยและใช้งานสะดวกยิ่งขึ้น 🎉

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

บทเรียน “ค่าเริ่มต้นและ required” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ค่าเริ่มต้นและ required”

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

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

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

บทเรียน “ค่าเริ่มต้นและ required” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ประกาศฟังก์ชันและชนิดค่าที่ส่งกลับ
  2. พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ
  3. ค่าเริ่มต้นและ required
  4. ฟังก์ชันในฐานะค่าชั้นหนึ่ง
← กลับไปที่ Dart Academy