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

use และเส้นทาง

นำเข้ารายการ

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

นำรายการเข้าสู่ขอบเขต

การพิมพ์พาธเต็มอย่าง std::collections::HashMap ในทุกที่เป็นเรื่องน่าเบื่อ คีย์เวิร์ด use จะนำรายการเข้าสู่ขอบเขต ทำให้คุณอ้างถึงรายการนั้นด้วยชื่อสั้น ๆ ได้

การใช้ use พื้นฐาน

หลังจากใช้ use แล้ว คุณจะอ้างถึงรายการด้วยชื่อสุดท้ายของพาธได้ ที่นี่เรานำเข้า HashMap แล้วใช้งานโดยตรง

use std::collections::HashMap;

fn main() {
    let mut scores = HashMap::new();
    scores.insert("ana", 10);
    println!("{:?}", scores.get("ana"));
}

พาธสัมบูรณ์กับพาธสัมพัทธ์

พาธสัมบูรณ์เริ่มต้นจาก crate (รากของแครต) ส่วนพาธสัมพัทธ์เริ่มต้นจากโมดูลปัจจุบัน และอาจใช้ self หรือ super ได้

mod a {
    pub mod b {
        pub fn hi() { println!("hi from b"); }
    }
    pub fn call_b() {
        crate::a::b::hi();
        self::b::hi();
    }
}

fn main() {
    a::call_b();
}

การใช้ use ภายในโมดูล

use มีผลเฉพาะขอบเขตที่ปรากฏอยู่เท่านั้น วางไว้ด้านบนของโมดูลเพื่อย่อชื่อที่ใช้ตลอดทั้งโมดูลนั้น

mod work {
    use std::collections::HashSet;
    pub fn run() {
        let mut s = HashSet::new();
        s.insert(1);
        s.insert(1);
        println!("size {}", s.len());
    }
}

fn main() {
    work::run();
}

เปลี่ยนชื่อด้วย as

เมื่อรายการสองรายการมีชื่อเหมือนกัน หรือชื่อยาวเกินไป ให้เปลี่ยนชื่อขณะนำเข้าด้วย as

use std::collections::HashMap as Map;

fn main() {
    let mut m: Map<&str, i32> = Map::new();
    m.insert("x", 1);
    println!("{:?}", m.get("x"));
}

จัดกลุ่มการนำเข้า

นำเข้าหลายรายการจากพาธเดียวกันในบรรทัดเดียวโดยใช้วงเล็บปีกกา วิธีนี้ช่วยให้บล็อกการนำเข้าเป็นระเบียบ

use std::collections::{HashMap, HashSet};

fn main() {
    let map: HashMap<i32, i32> = HashMap::new();
    let set: HashSet<i32> = HashSet::new();
    println!("{} {}", map.len(), set.len());
}

กลุ่มซ้อนและ self

ภายในกลุ่ม self จะนำเข้าโมดูลนั้นเองพร้อมกับรายการภายในโมดูล ทำให้คุณใช้ได้ทั้งชื่อโมดูลและสมาชิกเฉพาะรายการ

use std::io::{self, Write};

fn main() {
    let _ = io::stdout().write_all(b"hello\n");
}

การนำเข้าแบบโกลบ

โกลบ * จะนำเข้าทุกสิ่งที่เป็นสาธารณะจากพาธหนึ่ง ๆ ควรใช้แต่น้อย เพราะอาจทำให้มองไม่เห็นว่าชื่อต่าง ๆ มาจากที่ใด แต่รูปแบบนี้ใช้กันทั่วไปกับโค้ดเตรียมความพร้อมและการทดสอบ

mod colors {
    pub fn red() -> &'static str { "red" }
    pub fn blue() -> &'static str { "blue" }
}

use colors::*;

fn main() {
    println!("{} {}", red(), blue());
}

รูปแบบการนำเข้าที่เหมาะกับภาษา

หลักปฏิบัติคือ ให้นำเข้าฟังก์ชันผ่านโมดูลแม่ (use std::cmp; cmp::max(...)) แต่นำเข้าชนิดข้อมูลด้วยชื่อ (use std::collections::HashMap;) วิธีนี้ทำให้การเรียกใช้สื่อความหมายได้ชัดเจน

use std::cmp;

fn main() {
    println!("{}", cmp::max(3, 9));
}

พาธไปยังแครตภายนอก

สำหรับสิ่งที่ต้องพึ่งพา พาธจะเริ่มต้นด้วยชื่อแครต เช่น rand::thread_rng คุณระบุแครตใน Cargo.toml แล้วนำเข้ารายการด้วยวิธีเดียวกับที่ใช้กับ std

จัดการการนำเข้าให้เป็นระเบียบ

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

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

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

ทบทวน

คุณได้เรียนรู้วิธีนำเข้ารายการแล้ว:

  • use นำรายการเข้าสู่ขอบเขตด้วยชื่อสั้น ๆ
  • พาธสัมบูรณ์เริ่มต้นที่ crate ส่วนพาธสัมพัทธ์ใช้ self/super
  • as ใช้เปลี่ยนชื่อ วงเล็บปีกกาใช้จัดกลุ่ม และ * ใช้นำเข้าแบบโกลบ
  • นำเข้าชนิดข้อมูลด้วยชื่อ และนำเข้าฟังก์ชันผ่านโมดูลแม่เพื่อความชัดเจน

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

บทเรียน “use และเส้นทาง” ฟรีหรือไม่

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

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

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

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

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

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

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

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

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

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

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