Path Struct
Path struct สำหรับ cross-platform path handling ใน Rust ประกอบด้วย Path (borrowed) และ PathBuf (owned) ที่จัดการกับ filesystem paths อย่างปลอดภัยและ portable ข้าม OS
1. Creating Paths
Section titled “1. Creating Paths”การสร้าง paths ใน Rust ใช้ Path สำหรับ borrowed paths และ PathBuf สำหรับ owned paths คล้ายความสัมพันธ์ระหว่าง str และ String
Path vs PathBuf
Section titled “Path vs PathBuf”Path เป็น borrowed view ที่ไม่ allocate memory ส่วน PathBuf เป็น owned buffer ที่สามารถ modify ได้
use std::path::{Path, PathBuf};
fn main() { // Path from string literal (borrowed) let path = Path::new("/home/user/documents"); println!("Path: {}", path.display());
// PathBuf (owned, mutable) let mut pathbuf = PathBuf::new(); pathbuf.push("/home"); pathbuf.push("user"); pathbuf.push("file.txt"); println!("PathBuf: {}", pathbuf.display());
// Convert from String let path_str = "/tmp/test.txt"; let path: &Path = Path::new(path_str); let pathbuf: PathBuf = path_str.into();
// From OsStr/OsString use std::ffi::OsStr; let os_str = OsStr::new("/path/to/file"); let path = Path::new(os_str); println!("From OsStr: {}", path.display());
// Relationship like str/String println!("\n=== Analogy ==="); println!("Path : PathBuf = str : String"); println!("Path is borrowed, PathBuf is owned");}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google