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

Path Struct

Path struct สำหรับ cross-platform path handling ใน Rust ประกอบด้วย Path (borrowed) และ PathBuf (owned) ที่จัดการกับ filesystem paths อย่างปลอดภัยและ portable ข้าม OS

การสร้าง paths ใน Rust ใช้ Path สำหรับ borrowed paths และ PathBuf สำหรับ owned paths คล้ายความสัมพันธ์ระหว่าง str และ String

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 เพื่อปลดล็อกบทความทั้งหมด