0Pricing
Learn Rust Coding · บทเรียน

เครตและรากเครต

โครงสร้างโครงการ

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

แครตคืออะไร

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

ไบนารีกับไลบรารี

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

  • รากของไบนารี: src/main.rs
  • รากของไลบรารี: src/lib.rs

รากของแครต

รากของแครตคือไฟล์ซอร์สที่คอมไพเลอร์เริ่มต้นทำงาน ไฟล์นี้อยู่บนสุดของโครงสร้างต้นไม้โมดูล และคีย์เวิร์ด crate ในพาธจะอ้างถึงไฟล์นี้

fn main() {
    crate::greet();
}

fn greet() {
    println!("hello from the crate root");
}

Cargo และแพ็กเกจ

แพ็กเกจคือแครตหนึ่งแครตขึ้นไปที่ Cargo จัดการ โดยมีรายละเอียดระบุไว้ใน Cargo.toml แพ็กเกจหนึ่งมีแครตไลบรารีได้ไม่เกินหนึ่งแครต และมีแครตไบนารีได้กี่แครตก็ได้

Cargo จัดการการสร้าง การทดสอบ และสิ่งที่ต้องพึ่งพา

Cargo.toml ขั้นต่ำ

ไฟล์กำกับจะแจ้งชื่อแพ็กเกจ เวอร์ชัน และสิ่งที่ต้องพึ่งพา Cargo อ่านไฟล์นี้เพื่อทราบวิธีสร้างโครงการของคุณ

  • [package] — ชื่อ เวอร์ชัน รุ่นภาษา
  • [dependencies] — แครตภายนอก

โครงสร้างโครงการมาตรฐาน

Cargo คาดหวังโครงสร้างตามแบบแผน:

  • src/main.rs — รากของแครตไบนารี
  • src/lib.rs — รากของแครตไลบรารี
  • src/bin/ — ไบนารีเพิ่มเติม
  • tests/ — การทดสอบแบบผสานรวม

การทำตามแบบแผนหมายความว่าไม่ต้องตั้งค่าเพิ่มเติม

โมดูลอยู่ใต้ราก

รากของแครตสามารถประกาศโมดูล ซึ่งจะรวมกันเป็นโครงสร้างต้นไม้โมดูล ทุกสิ่งที่คุณสร้างจะต่อออกจากไฟล์รากไฟล์เดียวนี้

mod utils {
    pub fn shout(s: &str) -> String {
        s.to_uppercase()
    }
}

fn main() {
    println!("{}", utils::shout("crate"));
}

แบ่งออกเป็นไฟล์

เมื่อรากประกาศ mod utils; พร้อมเครื่องหมายอัฒภาค Cargo จะโหลด src/utils.rs เนื้อหาในไฟล์จะกลายเป็นส่วนเนื้อหาของโมดูลนั้น ทำให้โครงสร้างต้นไม้เดียวกันยังคงอยู่แม้จะแบ่งเป็นหลายไฟล์

ใช้ไลบรารีจากไบนารี

ในแพ็กเกจที่มีทั้ง lib.rs และ main.rs ไบนารีจะอ้างถึงไลบรารีด้วยชื่อแพ็กเกจ ไลบรารีจะเปิดเผยรายการที่เป็น pub ให้ไบนารีนำไปใช้

การแบ่งเช่นนี้ช่วยเก็บตรรกะไว้ในไลบรารี และทำให้จุดเริ่มต้นมีโค้ดบาง

เพิ่มสิ่งที่ต้องพึ่งพา

เรียกใช้ cargo add rand หรือแก้ไข [dependencies] ใน Cargo.toml Cargo จะดาวน์โหลดแครตจาก crates.io และทำให้พร้อมใช้งานผ่าน use

Cargo ยังตรึงเวอร์ชันที่แน่นอนไว้ใน Cargo.lock เพื่อให้การสร้างซ้ำได้ผลเหมือนเดิม

ภาพรวมทั้งหมด

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

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เรื่องโครงสร้างโครงการของคุณ

ทบทวน

คุณได้เรียนรู้โครงสร้างโครงการแล้ว:

  • แครตคือแครตไบนารีหรือแครตไลบรารี
  • รากของแครต (main.rs หรือ lib.rs) เป็นจุดยึดของโครงสร้างต้นไม้โมดูล
  • แพ็กเกจรวมแครตต่าง ๆ และมีรายละเอียดระบุใน Cargo.toml
  • Cargo จัดการโครงสร้าง การสร้าง และสิ่งที่ต้องพึ่งพา

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

บทเรียน “เครตและรากเครต” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เครตและรากเครต”

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

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

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

บทเรียน “เครตและรากเครต” ใช้เวลานานแค่ไหน

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

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

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

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

  1. มอดูลและ mod
  2. pub และการมองเห็น
  3. use และเส้นทาง
  4. เครตและรากเครต
← กลับไปที่ Learn Rust Coding