Skip to content
เข้าสู่ระบบ

Modules & Packages

พอโปรเจกต์เริ่มใหญ่ขึ้น การเขียนทุกอย่างไว้ใน main.rs ไฟล์เดียวมันเริ่มไม่สนุกแล้วครับ Rust มีระบบ Module ที่ช่วยให้เราแบ่งโค้ดเป็นส่วนๆ แยกไฟล์ แยกโฟลเดอร์ ได้อย่างเป็นระบบ

ลองนึกภาพว่า Modules เป็นเหมือน “ลิ้นชักจัดเก็บ” - แบ่งของออกเป็นหมวดหมู่ หาง่าย ใช้สะดวก!

// ============================================
// mod = ประกาศ module
// ภายใน module สามารถมี functions, structs, enums
// ============================================
mod greetings {
// ============================================
// pub = public (เข้าถึงได้จากข้างนอก)
// ไม่ใส่ pub = private (default)
// ============================================
pub fn hello() {
println!("Hello!");
}
pub fn goodbye() {
println!("Goodbye!");
}
// ============================================
// Private function - ใช้ได้เฉพาะใน module นี้
// ============================================
fn secret() {
println!("This is private");
}
// Public function can call private function
pub fn reveal() {
secret(); // OK - same module
}
}
fn main() {
// ============================================
// เรียกใช้ผ่าน module_name::function_name
// ============================================
greetings::hello();
greetings::goodbye();
greetings::reveal();
// greetings::secret(); // Error! private
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด