Rust 基础: 三方库依赖 & 自定义三方库

Rust 基础: 三方库依赖 & 自定义三方库

正文

今天来介绍一下如何在 rust 项目中依赖三方库,以及如何自定义一个三方库

1. 项目类型

在 Rust 中存在两种基础的项目类型

  • 一种属于应用(application),主入口默认采用 src/main.rs
  • 第二种为三方库(library),主入口为 src/lib.rs

了解两者的区别之后我们就可以来看看如何在项目中引入三方库

2. 引入官方三方库

我们知道 rust 项目主要使用 cargo 同时作为依赖管理和打包工具,因此我们只需要在 Cargo.toml 配置文件内标明依赖项目和版本号即可

  • /app/Cargo.toml
[dependencies]
rand = "0.8.0"

接下来就可以在项目内来使用,使用 extern crate 关键字来引入三方库

  • /app/src/main.rs
extern crate rand;

fn main() {
    println!("Hello, world!");
    let x: i32 = rand::random();
    println!("random x = {}", x);
}
  • 输出
Hello, world!
random x = -700735415

3. 自定义三方库

而写一个自定义三方库也很简单,就是创建一个 library 项目就可以了!

3.1 创建库项目

$ cargo new lib --lib

3.2 加点内容

  • /lib/src/lib.rs

注意三方库的主入口为 lib.rs

pub fn test_fn() {
    println!("invoke test_fn from lib");
}

pub fn add(x: i32, y: i32) -> i32 {
    x + y
}

3.3 引入自定义三方库

这时候我们就可以放着,回到 app 项目加入依赖

  • /app/Cargo.toml
[dependencies]
lib = { path = "../lib" }

然后就可以在项目里面使用了

  • /app/src/main.rs
extern crate lib;

fn main() {
    lib::test_fn();
    println!("1 + 2 = {}", lib::add(1, 2));
}
  • 输出
invoke test_fn from lib
1 + 2 = 3

其他资源

参考连接

TitleLink
Dependencies - Rust by Examplehttps://doc.rust-lang.org/rust-by-example/cargo/deps.html
Creating a New Package - The Cargo Bookhttps://doc.rust-lang.org/cargo/guide/creating-a-new-project.html
Random values - The Rust Rand Bookhttps://rust-random.github.io/book/guide-values.html
Rust使用国内镜像安装依赖https://www.cnblogs.com/YMaster/p/13232965.html

完整代码示例

https://github.com/superfreeeee/Blog-code/tree/main/back_end/rust/rust_dependency_library

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值