การทำให้ struct สอดคล้องกับ Trait
พัฒนาเมธอดตามที่ Trait กำหนด
การทำให้ struct สอดคล้องกับ Trait เป็นบทเรียน Mojo Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Mojo Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน
ลงนามในสัญญา
เทรตอธิบายเฉพาะพฤติกรรมเท่านั้น หากต้องการใช้งาน โครงสร้างต้อง ทำตามข้อกำหนดด้วยการนำเมธอดที่จำเป็นไปใช้งานจริง ✍️
ระบุชื่อเทรต
คุณประกาศการทำตามข้อกำหนดโดยระบุเทรตไว้ใน วงเล็บหลังชื่อโครงสร้าง เช่นเดียวกับรายการพารามิเตอร์
struct Dog(Greetable):
var name: Stringนำทุกเมธอดไปใช้งาน
การทำตามข้อกำหนดหมายความว่าคุณต้อง นำไปใช้งานทุกเมธอดที่เทรตกำหนด โดยใช้ชื่อและลายเซ็นที่ตรงกัน
ทำให้ลายเซ็นตรงกัน
เมธอดของคุณต้องมี ลายเซ็นตรงกับเทรต ซึ่งหมายถึงมีอาร์กิวเมนต์และชนิดค่าที่ส่งกลับเหมือนกัน หากไม่ตรงกัน การทำตามข้อกำหนดจะไม่สำเร็จ
fn greet(self) -> String:
return "Woof from " + self.nameคอมไพเลอร์เป็นผู้ตรวจสอบ
เมื่อคุณประกาศว่าใช้เทรต Mojo จะ ตรวจสอบขณะคอมไพล์ว่าเมธอดที่จำเป็นมีอยู่ครบและถูกต้อง
ขาดเมธอดแล้วไม่ผ่าน
หากลืมเมธอดที่จำเป็น การสร้างโปรแกรมจะ ล้มเหลวพร้อมข้อผิดพลาดที่ชัดเจน สัญญานี้ถูกบังคับใช้ ไม่ใช่เพียงคำแนะนำ
ทำตามเทรตหลายรายการ
โครงสร้างหนึ่งรายการสามารถทำตามเทรตหลายรายการพร้อมกันได้ เพียงระบุทั้งหมด แล้วจะได้รับแต่ละ ความสามารถที่นำไปใช้งาน
struct Dog(Greetable, Stringable):
var name: Stringพฤติกรรมยังเป็นของคุณ
เทรตระบุว่ามีเมธอดใดบ้าง แต่โครงสร้างของคุณเป็นผู้ตัดสินใจว่าเมธอดเหล่านั้นทำงาน อย่างไร Cat และ Dog จึงสามารถทักทายแตกต่างกันได้
มีเมธอดเพิ่มเติมได้
โครงสร้างสามารถเพิ่มเมธอดของตนเองนอกเหนือจากที่เทรตกำหนดได้ การทำตามข้อกำหนดต้องการเพียงให้ตรงตาม สัญญา ไม่ได้จำกัดว่าต้องมีแค่เมธอดเหล่านั้น
ตอนนี้ใช้งานได้ตามข้อกำหนด
เมื่อโครงสร้างทำตามข้อกำหนดแล้ว ก็สามารถส่งไปยังที่ใดก็ตามที่ คาดว่าจะได้รับเทรตนั้น นี่คือประโยชน์สำคัญที่เราจะเรียนรู้ต่อไป
ตัวอย่างที่เป็นรูปธรรม
ในตัวอย่างนี้ Dog ทำตาม Greetable และจัดเตรียมข้อความทักทายของตนเอง จึง ตรงตามข้อกำหนดของเทรตอย่างสมบูรณ์
struct Dog(Greetable):
var name: String
fn greet(self) -> String:
return "Woof!"ตรวจสอบอย่างรวดเร็ว
โครงสร้างรับปากว่าจะทำตามเทรตได้อย่างไร
สรุปทบทวน
หากต้องการ ทำตามข้อกำหนด ให้ระบุเทรตหลังชื่อโครงสร้าง และนำเมธอดของเทรตไปใช้งานด้วยลายเซ็นที่ตรงกัน คอมไพเลอร์จะตรวจสอบให้ ✅
คำถามที่พบบ่อย
บทเรียน “การทำให้ struct สอดคล้องกับ Trait” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การทำให้ struct สอดคล้องกับ Trait” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Mojo Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Mojo Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การทำให้ struct สอดคล้องกับ Trait”
พัฒนาเมธอดตามที่ Trait กำหนด คุณปฏิบัติ Mojo Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Mojo Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Mojo Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การทำให้ struct สอดคล้องกับ Trait” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Mojo Academy นี้ได้ไหม
ได้ บทเรียน Mojo Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Trait คืออะไร
- การทำให้ struct สอดคล้องกับ Trait
- Trait ในตัว เช่น Copyable
- ฟังก์ชันทั่วไปเหนือ Trait