Create chapter_3_17_3.md

This commit is contained in:
令狐一冲
2023-05-18 10:42:28 +08:00
committed by GitHub
parent 3c6f14ff7e
commit a68aa7c3b4

View File

@@ -0,0 +1,48 @@
# 3.17.3 再谈crate
## 1. 创建二进制crate和库crate
可以被编译成可执行文件的crate就是二进制crate它的代码中必定包含一个main函数。如下方式创建的就是一个二进制crate
```
cargo new main
```
对于库crate的创建需要加上--lib方式如下
```
cargo new my-lib --lib
```
## 2. 使用第三方的crate
在Rust项目中经常会使用第三方的crate。使用第三方的crate主要分为两步
- 添加依赖;
- 在代码中使用。
下面以使用第三方crate rand为例来进行演示。
### 1首先创建一个工程
```
cargo new main
```
### 2添加依赖
```
cd main
```
打开main目录下的Cargo.toml文件在[dependencies]下添加对rand库的依赖即添加语句rand = "0.8.5"),添加后整个文件的内容如下:
![注释](../../assets/39.png)
### 3在代码中使用rand库
编写src/main.rs如下
```Rust
// src/main.rs
use rand::prelude::*; // 引入rand库
fn main() {
// 使用rand的函数
let mut rng = rand::thread_rng();
let y: f64 = rng.gen();
println!("y = {:?}", y);
}
```
**重点说明**在第二步中当在Cargo.toml的[dependencies]添加rand = "0.8.5"后程序编译时会自动先去拉取rand库相关的内容拉取完成后进行编译。