พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ
เรียกฟังก์ชันด้วยอาร์กิวเมนต์ที่เรียงลำดับหรือมีป้ายกำกับอย่างชัดเจน
พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ประกาศฟังก์ชันและชนิดค่าที่ส่งกลับ
- พารามิเตอร์ตามตำแหน่งกับพารามิเตอร์แบบมีชื่อ
- ค่าเริ่มต้นและ required
- ฟังก์ชันในฐานะค่าชั้นหนึ่ง