怎么样做长久的电影网站,百度网盘资源分享,门户网站还能建设么,什么建站程序最利于seorust 初探 – 路径Path
路径#xff08;Path#xff09;
目的#xff1a;为了在 Rust 的模块中找到某个条目#xff0c;需要使用 路径两种形式#xff1a; 绝对路径#xff1a;从 crate root 开始#xff0c;使用 crate 名或字面值 crate相对路径#xff1a;从当前模…rust 初探 – 路径Path
路径Path
目的为了在 Rust 的模块中找到某个条目需要使用 路径两种形式 绝对路径从 crate root 开始使用 crate 名或字面值 crate相对路径从当前模块开始使用 selfsuper 或当前模块的标识符 路径至少由一个标识符组成标识符之间使用 :: 示例
mod front_of_house {// pub mod hosting {mod hosting {// fn add_to_waitlist() {}fn add_to_waitlist() {}}
}pub fn eat_at_restaurant() {//使用绝对路径调用crate::front_of_house::hosting::add_to_waitlist();// --------------- function add_to_waitlist is not publicly re-exported// 因为是私有的//使用相对路径调用front_of_house::hosting::add_to_waitlist();
}私有边界privacy boundary
模块不仅可以组织代码还可以定义私有边界如果想把函数或struct 等设为私有将其放到某个模块中即可Rust 中所有的条目默认是私有的父级模块无法访问子模块中的私有条目子模块里可以使用所有祖先模块中的条目
pub 关键字
使用 pub 可以将某些条目设置为公共的
super 关键字
用于访问父级模块路径中的内容相当于文件目录中的 …
fn sever_order() {}mod back_of_house {fn fix_incorrect_order() {cook_order();super::sever_order();//进入到模块外面// crate::sever_order();}fn cook_order() {}
}pub struct
pub 放在 struct 之前struct 是公共的里面的字段默认不是公共的除非加上 pub
mod back_of_house {pub struct Breakfast {pub toast: String,fruit: String,}// 关联函数impl Breakfast {pub fn summer(toast: str) - Breakfast {Breakfast {toast: String::from(toast),fruit: String::from(peach),}}}
}pub fn eat_at_restaurant() {let mut meal back_of_house::Breakfast::summer(rye);meal.toast String::from(wheat);// meal.fruit String::from(apple);//field fruit of Breakfast is privateprintln!({}, meal.toast)
}上述示例中meal.toast 可以访问但是meal.fruit 因为是私有的不能访问。
pub enum
和 struct 不一样如果枚举是公共的那么它里面的所有枚举默认就是公共的