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

一个好的网站的重要性公众号如何推广

一个好的网站的重要性,公众号如何推广,高仿做的好点的网站,只做山寨的网站喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.4.1. use的作用 use的作用是将路径导入到当前作用域内。而引入的内容仍然是遵守私有性原则,也就是只有公共的部分引入进来才…

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

7.4.1. use的作用

use的作用是将路径导入到当前作用域内。而引入的内容仍然是遵守私有性原则,也就是只有公共的部分引入进来才可以用。

7.4.2. use的使用

看个例子:

mod front_of_house {  pub mod hosting {  pub fn add_to_waitlist() { }  fn seat_at_table() { }  }  
}  use crate::front_of_house::hosting;  pub fn eat_at_restaurant() {  hosting::add_to_waitlist();  
}

这里先声明了一个front_of_house模块,在它里面又声明了公共的子模块hosting,在hosting下有两个函数——公共的add_to_waitlist和私有的seat_at_table

然后使用use关键字把crate(也就是这整个文件)中的front_of_house模块下的子模块hosting引入到当前作用域。类似于文件系统中创建的文件链接,也有点类似于C++的using namespace

这样引入之后hosting这个名在当前作用域内就可以直接使用了,就相当于hosting这个模块是在crate root下定义的。

在下文的eat_at_restaurant函数中,因为hosting已经被引入当前作用域了,所以调用add_to_waitlist函数时就不用从crate起手写绝对路径抑或是从front_of_house起手写相对路径,而是从hosting起手写就可以。

但需要注意的是,引入了作用域的模块仍然遵守私有性原则,所以seat_at_table函数仍然不可被调用。

use即可以使用绝对路径,也可以使用相对路径,比如上面例子中的:

use crate::front_of_house::hosting; 

就可以被修改为:

use front_of_house::hosting;

但一般来说,使用绝对路径较多。

7.4.3. use的使用惯例

在上面的例子中,我们导入模块只到了use这个层级,但调用的函数只有add_to_waitlist,能不能直接一步到位导入add_to_waitlist呢?实际上是可以的:

mod front_of_house {  pub mod hosting {  pub fn add_to_waitlist() { }  fn seat_at_table() { }  }  
}  use crate::front_of_house::hosting::add_to_waitlist;  pub fn eat_at_restaurant() {  add_to_waitlist();  
}

这样写也是没有问题的,但是不建议。

如果代码比较多,就不知道add_to_waitlist函数是在本地定义的还是在其他模块定义的。所以,针对函数,通常是引入到它的父模块,通过父模块来调用函数来表示它不是本地定义的。但是要注意引入到函数的上一级就可以,不用引入太多,否则重复的输入就太多了。

针对其他的条目,比如struct、枚举等等,一般都是指定完整路径(指定到本身),不用指定到父级。如下例:

use std::collections::HashMap;  fn main() {  let mut map = HashMap::new();  map.insert(1, 2);  
}

使用标准库的collection模块下的Hashmap这个结构体,就直接引入它本身。在用的时候就直接使用Hashmap这个名,不带父级模块。

如果是同名条目,不论是不是函数,都指定到父级以做区分。如下例:

use std::fmt;  
use std::io;  fn f1() -> fmt::Result { }  fn f2() -> io::Result { }fn main() { }

在这个例子中(不考虑编译问题,只是作为演示例),我既需要fmt下的Result,也需要io下的Result,所以说在引入时就得引入到父级fmtio

如果不想这么写,也可以使用as关键字。

7.4.4. as关键字

as关键字可以为引入的路径指定本地的别名。比如说我们修改一下上边的例子:

use std::fmt::Result;  
use std::io::Result as IoResult;  fn f1() -> Result { }  fn f2() -> IoResult { }  
fn main() { }

这样就不用声明到父级,而是直接声明到本身。

http://www.mmbaike.com/news/74343.html

相关文章:

  • 网站制作中企动力公司seo排名的影响因素有哪些
  • 网站建设收费价目表12月30日疫情最新消息
  • 怎样使wordpress网站文章左对齐东莞seo靠谱
  • 大前端最新网站windows优化大师的特点
  • 莱阳网站建设2021年十大热点事件
  • 网站建设 网站优化网站的排名优化怎么做
  • 深圳网站建设方维产品推广软文范文
  • 建网站 深圳今日国际重大新闻事件
  • 永修建设局网站简单的个人网页制作html
  • 2023年新闻摘抄站长工具seo综合查询是什么
  • 淘宝优惠券网站怎么做郑州网站推广公司咨询
  • 做再生资源的网站有哪些微信公众号平台官网
  • 千龙网站建设长春疫情最新消息
  • web网站开发框架企业网络规划与设计
  • 怎样自己做网站推广万能搜索引擎
  • 网站 建设 标准方案免费b站推广网站入口202
  • 企业网站排名提升软件优化北京百度快速优化排名
  • 中国加工网招聘信息aso优化方法
  • 网站更新维护 怎么做百度指数人群画像
  • 郑州哪里培训网站建设优化好一点模板建站流程
  • 深圳做网站-龙华信科广州百度seo
  • 政府网站监管怎么做淘宝推广怎么做
  • html动画效果代码东莞seo建站优化工具
  • 小区网站建设网页开发工具
  • 郑州网站建设精英北京百度seo关键词优化
  • 建造师注册信息查询网seo搜索引擎优化工作内容
  • 北京网站改版百度投诉中心24人工客服电话
  • 导航网站容易做吗怎样制作网页
  • .net最新网站开发平台优化
  • 一般做网站用什么字体网页制作软件免费版