Mojo Academy · บทเรียน

การอ่านลายเซ็นฟังก์ชัน

ทำความเข้าใจฟังก์ชันจากคำประกาศ

บทเรียน 4 จาก 413 ขั้นตอน

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

ลายเซ็นคือข้อตกลง

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

fn area(width: Int, height: Int) -> Int:

มองหาชื่อ

ถัดจาก fn หรือ def จะเป็น ชื่อ ชื่อนั้นควรบอกเป็นนัยว่าฟังก์ชันทำอะไร เช่น area, parse หรือ connect

fn parse(text: String) -> Int:

อ่านพารามิเตอร์

ภายในวงเล็บคือ พารามิเตอร์ ที่ฟังก์ชันคาดว่าจะได้รับ แต่ละตัวจับคู่ชื่อกับชนิดข้อมูล เพื่อบอกว่าควรส่งค่าใดเข้าไป

fn area(width: Int, height: Int) -> Int:

ชนิดของพารามิเตอร์ช่วยชี้แนวทาง

ชนิดข้อมูลหลังเครื่องหมายโคลอนแต่ละตัวจะบอก ประเภท ของค่าที่ต้องส่ง width: Int หมายความว่า area ต้องการจำนวนเต็ม ไม่ใช่ข้อความ

fn greet(name: String, times: Int): ...

ลูกศรระบุชนิดผลลัพธ์

ลูกศรชี้ไปยังค่าที่ฟังก์ชันส่งกลับ ในที่นี้ -> Int รับรองว่าผลลัพธ์เป็นจำนวนเต็มที่คุณจัดเก็บหรือแสดงผลได้

fn area(width: Int, height: Int) -> Int:

ไม่มีลูกศรหมายถึงไม่มีค่า

เมื่อไม่มีลูกศร ฟังก์ชันจะส่งคืน None ฟังก์ชันทำงานเพื่อผลข้างเคียง เช่น การพิมพ์ผล ไม่ใช่เพื่อส่งคืนผลลัพธ์

fn log(msg: String):
    print(msg)

ค่าเริ่มต้นในลายเซ็น

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

fn open(path: String, mode: String = "r"): ...

raises เตือนถึงความล้มเหลว

คีย์เวิร์ด raises ในลายเซ็นหมายความว่าฟังก์ชันอาจทำงานล้มเหลว ดังนั้นคุณควรครอบการเรียกใช้ด้วยการจัดการข้อผิดพลาด

fn read(path: String) raises -> String:

fn กับ def ในภาพรวม

คำแรกมีความสำคัญ fn หมายถึงรูปแบบที่เข้มงวดและมีชนิดข้อมูล ส่วน def ยืดหยุ่นและคล้าย Python ลายเซ็นจะบอกว่าคุณอยู่ภายใต้ข้อตกลงแบบใด

def loose(x): ...
fn strict(x: Int) -> Int: ...

ลายเซ็นในฐานะเอกสารย่อ

ก่อนอ่านเนื้อหาฟังก์ชัน ลายเซ็นก็ตอบได้แล้วว่ารับอะไรเข้าและส่งอะไรออก โปรดมองว่าเป็น สรุป ของฟังก์ชัน

รวมทุกอย่างเข้าด้วยกัน

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

fn fetch(url: String, retries: Int = 3) raises -> String:

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

ในลายเซ็นของ Mojo ส่วนหลังลูกศรบอกอะไร

ทบทวน: อ่านก่อนเรียกใช้

ลายเซ็น แสดงชื่อ พารามิเตอร์พร้อมชนิดข้อมูล ค่าเริ่มต้น (ถ้ามี) ชนิดผลลัพธ์ และ raises อ่านก่อน แล้วการเรียกใช้อย่างถูกต้องจะเป็นเรื่องง่าย

เริ่มต้นได้ฟรี

เรียนรู้ Mojo ด้วย AI tutor — ฟรี

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

คอร์ส
30
บทเรียน
120

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

บทเรียน “การอ่านลายเซ็นฟังก์ชัน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การอ่านลายเซ็นฟังก์ชัน”

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

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

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

บทเรียน “การอ่านลายเซ็นฟังก์ชัน” ใช้เวลานานแค่ไหน

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

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

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

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

  1. อาร์กิวเมนต์ตามตำแหน่งและตามชื่อ
  2. ค่าเริ่มต้นของอาร์กิวเมนต์
  3. การส่งคืนหลายค่า
  4. การอ่านลายเซ็นฟังก์ชัน
← กลับไปที่ Mojo Academy