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

网站摄影设计附近哪里有计算机培训班

网站摄影设计,附近哪里有计算机培训班,做网站市场分析,如何评价一个企业的网站建设喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.5.1. 使用pub use重新导入名称 使用use将路径导入作用域内后。该名称在词作用域内是私有的。 以上一篇文章的代码为例: m…

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

7.5.1. 使用pub use重新导入名称

使用use将路径导入作用域内后。该名称在词作用域内是私有的。

以上一篇文章的代码为例:

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();  
}

对于外部代码来说,eat_at_restaurant是可以访问到的,因为它在声明时使用了pub关键字,但eat_at_restuarant下的add_to_wait list外部代码是看不见的,因为use引入默认是私有的。如果想要外部代码也能访问到,就需要在use前增加pub关键字:

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

这样子就可以让外部代码访问到use模块了。

当我们想要对外暴露代码的时候,我们可以使用这种技术,不按照内部代码的结构,而是做一些调整来对外进行暴露。这样代码内部的结构和外边看到的可能就会有点不一样。毕竟写代码的人和调用代码的人他们所期望的东西通常是不一样的。

最后总结一下:pub use重导出既可以将该条目引入作用域,也可以使该条目被外部代码引入到它们的作用域。

7.5.2. 使用外部的包(package)

首先要在Cargo.toml里添加依赖项的包(package)名与版本,而Cargo会从crates.io这个网站上下载这个包和这个包的依赖项到本地(也可以用野生的crate,去GitHub找,但非常不建议这么做)。然后就是在代码里使用use将特定条目引入到作用域。

还记得第二章的猜数游戏吗?那时候我们需要rand包来生成随机数,现在我们还是以引入rand包来举例:

Step 1:修改Cargo.toml

打开项目的Cargo.toml文件,在[dependencies]下写上rand这个包名和指定的版本,中间用=连接,如下:

[package]  
name = "RustStudy"  
version = "0.1.0"  
edition = "2021"  [dependencies]  
rand = "0.8.5"

Step 2:在源代码中引入包

你想用包下的什么东西就用use指定对应的路径来引入即可。这里我需要生成随机数的函数,所以就引入这个函数的父级模块Rng,引入这行的代码如下:

use rand::Rng;

Rust语言的标准库std也被当作是外部的包,但是它已经内置在Rust语言内了,所以就不需要在Cargo.toml里增加依赖项了,直接在源代码中用use引入就行,这有点类似于Python中的reosctype这类库。

比如说我们想要引入std下的collectiond模块的HashMap这个结构体,就应该写:

use std::collections::HashMap;

但不用修改Cargo.toml

7.5.3. 使用嵌套路径清理大量的use语句

有的时候使用同一个包或模块下的多个条目,前面部分都是一样的,但是还是得写几遍,占用几行,如果引入的东西比较多,需要写很多遍,根本不现实,所以Rust允许使用嵌套路径同一行内来简化引入的代码。类似于bash的花括号展开特性。

其格式如下:

use 同样的部分::{不同的部分1, 不同的部分2, ...}

看个例子:

use std::cmp::Odering;
use std::io;

它们有公共的部分std,所以就可以用嵌套路径写为:

use std::{cmp::Odering, io};

如果其中一个引用是另外一个引用的子路径,Rust还允许在使用嵌套路径时使用self关键字,如下例:

use std::io;
use std::io::Write;

这部分就可以简写为:

use std::io::{self, Write};

7.5.4. 通配符*

使用*可以把路径中所以的公共条目都引入到作用域。比如我想把std库下collections模块所有的公共条目都引入进去,就可以这么写:

use std::collections::*;

但是这种引入要非常谨慎的使用,通常不这样用。

它的应用场景是:

  • 在测试的时候把所有被测试的代码引入到test模块
  • 有时候被用于预导入(prelude)模块

7.4.5. 给Rust依赖项下载换源

由于crates.io的网站在国外,所以国内下载很慢,可以换成清华大学镜像。

打开Windows Terminal(Win11自带,Win10需要去微软商店里下载,不花钱),先找到你的项目所在的文件夹路径,然后输入指令,回车:

cd 你的文件夹路径

然后在下面建立一个config配置文件,输入如下指令,回车:

touch config

编辑它:输入如下指令,回车:

vim config

把这段贴进去:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'tuna'
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
[net]
git-fetch-with-cli = true

把光标(不是鼠标指针!)下移,从
请添加图片描述
移到
请添加图片描述

然后输入

:wq

再按回车就会保存。

然后再重新build你的项目就可以。

http://www.rdtb.cn/news/16100.html

相关文章:

  • 视频投票网站怎么做高端婚恋网站排名
  • 租房网站的财务分析表怎么做新闻联播直播 今天
  • 电商网站建设与运营方向seo网站排名厂商定制
  • WordPress付费阅读文章google搜索优化方法
  • 陕西建设厅继续教育网站荆州百度推广
  • 公共场所建设网站完整html网页代码案例
  • 推广策划案网站seo视频教程
  • 北京网站推广营销策划苏州百度推广服务中心
  • 筑建网站首页近期新闻热点
  • c web网站开发弹窗seo实战培训中心
  • 个人网站要在公安备案吗安徽做网站公司哪家好
  • 前端做兼职网站专业的seo搜索引擎优化培训
  • 免费ps软件网站厦门seo新站策划
  • 整站seo运营永久8x的最新域名
  • 徐州个人建站模板内容营销的4个主要方式
  • 山西网站制作设计站长工具域名
  • 哪种类型的网站比较难做全自动推广引流软件
  • 如何学习网站制作今日小说搜索风云榜
  • 免费发布信息网站大全注册茂名网站建设制作
  • 全国建设系统政治研究会网站网站优化关键词排名
  • 开网站做销售西安seo代理计费
  • 做网站怎么引流自己如何做网站
  • 网站推广怎么做的郑州seo关键词
  • 网站开发网站维护这行业怎么样代理推广月入5万
  • 广告策划书的内容google seo教程
  • wordpress屏蔽右键seo培训优化
  • 从事网站建设新品牌推广策划方案
  • 用建站ABC做的网站 怎么营销百度官网网站登录
  • 安徽省建设工程信息网官方网站天天外链官网
  • 做demo的网站推广普通话手抄报