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

พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ

เรียกฟังก์ชันด้วยอาร์กิวเมนต์ที่เรียงลำดับหรือมีป้ายกำกับอย่างชัดเจน

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

สองวิธีในการส่งอาร์กิวเมนต์

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

พารามิเตอร์ตามตำแหน่ง

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

int sub(int a, int b) {
  return a - b;
}
sub(10, 3); // 7

ลำดับมีความสำคัญจริง ๆ

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

sub(3, 10); // -7, not 7

พารามิเตอร์แบบระบุชื่อ

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

void move({int x, int y}) {
  // ...
}

การเรียกใช้พร้อมป้ายกำกับ

เมื่อเรียกใช้ฟังก์ชันที่มีพารามิเตอร์แบบระบุชื่อ ให้เขียนป้ายกำกับแต่ละรายการตามด้วยเครื่องหมายโคลอน วิธีนี้ทำให้การเรียกใช้มีลักษณะเหมือนภาษาไทยทั่วไป

move(y: 5, x: 2);

อาร์กิวเมนต์แบบระบุชื่ออธิบายตัวเอง

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

drawBox(width: 100, height: 50);

แบบระบุชื่อเป็นตัวเลือกโดยค่าเริ่มต้น

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

void config({String? theme}) {}
config(); // theme is null

พารามิเตอร์ตามตำแหน่งที่เป็นตัวเลือก

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

String tag(String name, [String? id]) {
  return id == null ? name : "$name#$id";
}

การผสมทั้งสองรูปแบบ

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

void log(String msg, {bool loud = false}) {}

ควรเลือกใช้แต่ละแบบเมื่อใด

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

หลีกเลี่ยงกับดักค่าบูลีน

ค่า true ที่ปรากฏลอย ๆ ในการเรียกใช้ไม่ได้บอกอะไรแก่ผู้อ่านเลย พารามิเตอร์แบบระบุชื่ออย่าง animate: true ทำให้เจตนาชัดเจนอย่างยิ่ง ✅

show(animate: true);

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

ถึงเวลาตรวจสอบความเข้าใจเกี่ยวกับรูปแบบพารามิเตอร์ของคุณแล้ว

ทบทวน

ตอนนี้คุณสามารถเลือกใช้ตามตำแหน่งสำหรับการเรียกใช้สั้น ๆ และแบบระบุชื่อสำหรับการเรียกใช้ที่อ่านง่าย รวมถึงผสมทั้งสองแบบได้ การเรียกใช้ที่ชัดเจนหมายถึงข้อผิดพลาดที่น้อยลง 🎯

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

บทเรียน “พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ”

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

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

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

บทเรียน “พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ” ใช้เวลานานแค่ไหน

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

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

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

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

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