1. 从控制台输入一个数
2.Cargo 的包管理
Cargo 检查 [dependencies]
片段并下载缺失的 crate 。本例中,虽然只声明了 rand
一个依赖,然而 Cargo 还是额外获取了 libc
和 rand_core
的拷贝,因为 rand
依赖 libc
来正常工作。下载完成后,Rust 编译依赖,然后使用这些依赖编译项目。
Cargo 只会使用你指定的依赖版本,除非你又手动指定了别的。例如,如果下周 rand
crate 的 0.5.6
版本出来了,它修复了一个重要的 bug,同时也含有一个会破坏代码运行的缺陷,这时会发生什么呢?
这个问题的答案是 Cargo.lock 文件。它在第一次运行 cargo build
时创建,并放在 guessing_game 目录。当第一次构建项目时,Cargo 计算出所有符合要求的依赖版本并写入 Cargo.lock 文件。当将来构建项目时,Cargo 会发现 Cargo.lock 已存在并使用其中指定的版本
当你 确实 需要升级 crate 时,Cargo 提供了另一个命令,update
,它会忽略 Cargo.lock 文件,并计算出所有符合 Cargo.toml 声明的最新版本。如果成功了,Cargo 会把这些版本写入 Cargo.lock 文件。而Cargo.toml 不会变
扫描二维码关注公众号,回复:
15902477 查看本文章
不过,Cargo 默认只会寻找大于 0.5.5
而小于 0.6.0
的版本;
如果想要使用 0.6.0
版本的 rand
或是任何 0.6.x
系列的版本,必须像这样更新 Cargo.toml 文件:
[dependencies] rand = "0.6.0"
3.生成随机数,并比较: