当前位置: 首页 > news >正文

南宁一站网 给网站做营销北京工地网站建设

南宁一站网 给网站做营销,北京工地网站建设,wordpress 重写 函数,苏州品牌网站设计定制一 、crate crate称为箱。 crate有两种形式#xff1a;二进制箱(binary crate)和库箱(library crate)。 二进制箱必须有一个 main 函数#xff0c;可以编译为可执行程序。 库箱并没有 main 函数#xff0c;它们也不会编译为可执行程序#xff0c;它们只是提供一些函数供其…一 、crate crate称为箱。 crate有两种形式二进制箱(binary crate)和库箱(library crate)。 二进制箱必须有一个 main 函数可以编译为可执行程序。 库箱并没有 main 函数它们也不会编译为可执行程序它们只是提供一些函数供其他项目使用。 crate root叫箱的根是一个源文件Rust编译器以它为起始点构建你的crate。 二、package package称为包。包就是一个工程项目包必须有一个Cargo.toml文件。 一个包至少包含一个箱这些箱最多包含一个库箱但可以包含任意数量的二进制箱。 使用cargo new命令创建包。包名就是目录名。 如果使用cargo new proj创建包src目录下会默认生成一个main.rs源文件。 如果使用cargo new --lib proj命令创建包src目录下会默认生成一个lib.rs源文件。 Cargo约定 src/main.rs是一个二进制箱的根。此箱名与包名相同。 src/lib.rs是一个库箱的根。此箱名与包名相同。 如果包只有src/main.rs文件意味着包只含有一个二进制箱。此箱名与包名相同。 如果一个包同时含有 src/main.rs和src/lib.rs则它包含两个箱一个二进制箱和一个库箱且名字都与包相同。 通过将文件放在src/bin目录下一个包可以拥有多个二进制箱src/bin下的每个文件都会编译成一个独立的二进制箱。此目录下的箱名与包名不同而是与文件名相同。 三、模块 rust模块就是命名空间。 一声明模块 使用mod关键字来声明模块。 mod hello {pub fn say_hello() {println!(hello world);} }模块内的项默认是private外部不可见如果要外部可见需要加pub 模块可以嵌套形成模块树module tree mod nation {mod government {fn govern() {}}mod congress {fn legislate() {}}mod court {fn judicial() {}} }每个箱都是一个模块树。src/main.rs 和 src/lib.rs 叫做箱根是因为这两个文件为模块树创建了一个名为 crate 的根模块。 crate └──nation├──government│ └──govern├──congress│ └──legislate└──court└──judicial二使用模块 1.模块的路径 如何在模块树中找到一个项的位置我们使用路径就像在文件系统使用路径一样。为了调用一个函数我们需要知道它的路径。 路径有两种形式 绝对路径absolute path是以箱根开头的全路径引用外部箱代码是以箱名开头的绝对路径引用当前箱代码则以crate开头。 相对路径relative path从当前所在模块开始以 self、super 或当前模块的标识符开头。 1路径以双冒号::为分割符 例如 mod front_of_house {pub mod hosting {pub fn add_to_waitlist() {}} } pub fn eat_at_restaurant() {// 绝对路径crate::front_of_house::hosting::add_to_waitlist();// 相对路径front_of_house::hosting::add_to_waitlist(); }2使用以 super 开头的相对路径 fn deliver_order() {} mod back_of_house {fn fix_incorrect_order() {cook_order();super::deliver_order();}fn cook_order() {} }3使用外部箱 必须先添加依赖。在Cargo.toml中添加外部箱所在的包 比如 [dependencies] rand 0.8.5Cargo要从 crates.io 下载 rand 和其依赖。 这样就可以使用绝对路径使用外部箱了 use rand::Rng; fn main() {let secret_number rand::thread_rng().gen_range(1..101); }4std标准库 std也是外部箱。因为标准库随Rust语言一同分发无需修改 Cargo.toml 来引入 std 比如 let mut guess String::new(); std::io::stdin().read_line(mut guess).expect(failed readline);2.use语句 无论是使用绝对路径还是相对路径都不便我们可以使用 use 关键字创建一个短路径。 1use关键字将模块标识符引入当前作用域 实例 mod nation {pub mod government {pub fn govern() {}} } use crate::nation::government::govern; fn main() {govern(); }use关键字把govern标识符导入到了当前的模块下可以直接使用。 2可以使用use as为标识符添加别名 实例 mod nation {pub mod government {pub fn govern() {}}pub fn govern() {} } use crate::nation::government::govern; use crate::nation::govern as nation_govern; fn main() {nation_govern();govern(); }这里有两个govern函数一个是nation下的一个是government下的我们用as将nation下的取别名nation_govern。两个名称可以同时使用。 3use关键字可以与pub关键字配合使用 实例 mod nation {pub mod government {pub fn govern() {}}pub use government::govern; } fn main() {nation::govern(); }4使用大括号引入相同模块的多个子模块可以显著减少 use 语句的数量 比如 use std::{cmp::Ordering, io};5使用通配符*引入所有子模块 例子 use std::collections::*;将 std::collections 中所有公有项引入当前作用域 三将模块分割进不同文件 到目前为止都是在一个文件中定义多个模块。当模块变得更大时你可能想要将它们移动到单独的文件中。 例如 文件名: src/lib.rs mod front_of_house; //声明front_of_house模块其内容将位于src/front_of_house.rs pub use crate::front_of_house::hosting; pub fn eat_at_restaurant() {hosting::add_to_waitlist(); }文件名: src/front_of_house.rs pub mod hosting {pub fn add_to_waitlist() {} }在src/front_of_house.rs中定义front_of_house模块 在mod front_of_house后使用分号而不是代码块表示在其他文件中定义模块。Rust会在与模块同名的文件中查找模块的代码。 继续重构我们例子将hosting模块也提取到其自己的文件中 文件名: src/front_of_house.rs pub mod hosting;创建一个src/front_of_house目录在src/front_of_house/hosting.rs文件中定义hosting模块 文件名: src/front_of_house/hosting.rs pub fn add_to_waitlist() {}
http://wiki.neutronadmin.com/news/61513/

相关文章:

  • 一站式做网站开发重庆 网站定制
  • 网站的建设技术有哪些内容wordpress菜单怎么设置
  • 北京平台网站建设价位推广普通话活动方案
  • 网站免费源码大全无需下载微信公众号登录不上
  • 贵阳微网站建设wordpress采集
  • asp网站开发实例公司网站seo外包
  • 做游戏的网站有哪些企业网站建设网站模板
  • 淘宝内部优惠券网站怎么做国内知名网站建设
  • 在那个网站做义工好wordpress二次开发版
  • 镇江电子商务网站建设广州大型网站建设公司排名
  • 肇庆网站建设维护营销外包团队
  • 烟台电子商务网站手机可以开发网站
  • 榆林网站建设电话wordpress 站内资讯
  • 莱芜十七中网站wordpress用插件备份
  • 做ui的图从哪个网站找专业网站制作推荐
  • 织梦移动端网站建设网站建设构成技术要求
  • 云图书馆平台网站建设专业网站建设公司怎么做
  • 用ps软件做ppt模板下载网站有哪些内容新手学做网站要花钱么
  • c语言开发网站后端萤火虫网站建设优化
  • 发布网站免费空间wordpress文章页获取目录名称
  • 做网站的软件有些什么给网站做优化刷活跃要收费吗
  • 网站 域名 空间 服务器网站开发心得500字
  • 抚顺您做煮火锅网站杭州 建设网站
  • seo网站设计费用网络营销策划的基本原则是什么
  • 芜湖建设网站公司html菜鸟工具
  • 网站改版介绍电子商城是什么意思
  • 旅行社网站营销建设深圳做网站的网
  • 需要自己的网站需要怎么做东莞建网站公司品牌
  • 做阿里还是网站wordpress下载的主题怎么安装
  • 建设网站空间静态网站建设论文