ฟังก์ชันนิรนามและคลอเชอร์
เก็บตัวแปรไว้ในฟังก์ชันแบบแทรกในบรรทัด
ฟังก์ชันนิรนามและคลอเชอร์ เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฟังก์ชันที่ไม่มีชื่อ
บางครั้งคุณต้องใช้ฟังก์ชันเพียงครั้งเดียวและไม่ใช้ซ้ำอีก ฟังก์ชันไม่ระบุชื่อจะไม่มีชื่อ และเขียนไว้ตรงจุดที่เรียกใช้ ✨
รูปแบบพื้นฐาน
ฟังก์ชันไม่ระบุชื่อประกอบด้วยพารามิเตอร์และเนื้อหาของฟังก์ชัน โดยไม่มีชื่ออยู่ด้านหน้า คุณสามารถเก็บฟังก์ชันนี้ไว้ในตัวแปรได้
var greet = (String n) {
print('Hi ' + n);
};การเรียกฟังก์ชันที่จัดเก็บไว้
เมื่อจัดเก็บไว้แล้ว คุณสามารถเรียกฟังก์ชันผ่านตัวแปรได้เหมือนฟังก์ชันที่มีชื่อ โดยใช้วงเล็บ
greet('Ada');ส่งฟังก์ชันแบบแทรกโดยตรง
โดยส่วนใหญ่ คุณจะส่งฟังก์ชันไม่ระบุชื่อเข้าไปในเมธอดโดยตรง ในที่นี้ forEach จะเรียกฟังก์ชันนั้นกับทุกรายการ
[1, 2, 3].forEach((n) {
print(n * 2);
});ฟังก์ชันลูกศรแบบไม่ระบุชื่อ
สำหรับเนื้อหาที่เป็นนิพจน์เดียว ให้ผสานฟังก์ชันไม่ระบุชื่อเข้ากับลูกศรเพื่อให้โค้ดกระชับ
var doubled = [1, 2, 3].map((n) => n * 2);คลอเชอร์คืออะไร
คลอเชอร์คือฟังก์ชันที่จดจำตัวแปรจากจุดที่ฟังก์ชันถูกสร้างขึ้น แม้ขอบเขตภายนอกนั้นจะสิ้นสุดลงแล้ว
การจับตัวแปรไว้
ฟังก์ชันด้านล่างจะจับstepไว้ และใช้ค่านั้นต่อไปทุกครั้งที่คุณเรียกฟังก์ชันที่ส่งกลับมาในภายหลัง
Function adder(int step) {
return (int x) => x + step;
}คลอเชอร์แต่ละตัวเป็นอิสระจากกัน
เรียกโรงงานสองครั้ง แล้วคลอเชอร์ที่ส่งกลับมาแต่ละตัวจะเก็บค่าที่จับไว้แยกจากกัน ทั้งสองตัวจะไม่รบกวนกัน
var add5 = adder(5);
var add10 = adder(10);คลอเชอร์เก็บสถานะไว้
ตัวแปรที่ถูกจับไว้สามารถเปลี่ยนแปลงระหว่างการเรียกแต่ละครั้ง ทำให้คลอเชอร์จดจำความคืบหน้าได้เหมือนตัวนับขนาดเล็ก
int count = 0;
var tick = () => ++count;เหตุผลที่เรื่องนี้สำคัญ
ฟังก์ชันเรียกกลับ ตัวจัดการเหตุการณ์ และเมธอดของรายการ ล้วนพึ่งพาคลอเชอร์ คลอเชอร์ช่วยรวมพฤติกรรมเข้ากับข้อมูลที่จำเป็นต้องใช้
ทำให้มีขนาดเล็ก
คลอเชอร์แบบแทรกเหมาะอย่างยิ่งเมื่อมีขนาดสั้น หากเริ่มซับซ้อนขึ้น ให้ตั้งชื่อที่ชัดเจนเพื่อให้ผู้อื่นอ่านได้ง่าย
ตรวจสอบอย่างรวดเร็ว
อะไรทำให้ฟังก์ชันเป็นคลอเชอร์
สรุปทบทวน
คุณได้รู้จักฟังก์ชันไม่ระบุชื่อสำหรับการใช้งานครั้งเดียว และคลอเชอร์ที่จับตัวแปรรอบข้างไว้เพื่อเก็บสถานะของตัวเอง 🎯
คำถามที่พบบ่อย
บทเรียน “ฟังก์ชันนิรนามและคลอเชอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ฟังก์ชันนิรนามและคลอเชอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ไวยากรณ์ลูกศรสำหรับฟังก์ชันบรรทัดเดียว
- ฟังก์ชันนิรนามและคลอเชอร์
- ชนิดข้อมูลที่รับค่า null ได้และเครื่องหมายคำถาม
- ตัวดำเนินการที่รู้จัก null: ?., ?? และ !