美文网首页
rust包管理

rust包管理

作者: 轻舞凋零 | 来源:发表于2022-05-16 13:55 被阅读0次

通过模块进行包管理

rust通过模块管理项目,我们通过mod声明模块,使用use mod-name::xxx类似的样子使用模块。

可以通过crate::xxx 声明绝对路径,supper和self声明相对路径模块地址

如何创建包

rust使用文件作为mod,可以任意使用的mod

两种方式

  • 1 使用同名的文件
  • 2 使用mod文件

定义包的模式1代码示例

foo/bar.rs
foo.rs
main.rs

//bar.rs

pub struct Bar;
impl Bar {
    pub fn hi() {
        println!("hello Bar");
    }
}

//foo.rs

mod bar;
pub use self::bar::Bar;

pub fn do_foo() {
    println!("hi from foo!");
}

//main.rs
mod foo;
use foo::Bar;

fn main() {
    foo::do_foo();
    Bar::hi();
    println!("Hello, world!");
}

定义包的模式代码示例2

foo/f1.rs
foo/g1.rs
foo/mod.rs
main.rs

//f1.rs
pub fn ff() {
    println!("f1 func")
}

//g1.rs
pub fn gf() {
    println!("g1 func")
}
//mod.rs
pub mod g1;
pub mod f1;

//main.rs

mod foo;
use foo::f1;
use foo::g1;

fn main() {
    println!("Hello, world!");
    
    f1::ff();
    g1::gf();

}

cargo

rust的cargo类似于php的pecl,java的maven或者gradle,golang的mod,dlang的dub

创建rust项目

  • 创建rust工程rust init
  • 创建rust库rust init --lib

rust和其他语言包管理服务一样指定模块

  • features 特性
  • build-dependencies 构建时依赖
  • dependencies 依赖包

相关文章

  • rust 闭包与同步

    rust 闭包与同步 rust 闭包 rust闭包中主要包括两个部分,闭包参数和闭包环境变量。闭包函数和函数参数使...

  • rust语言和cargo介绍

    cargo Cargo 是Rust的 包经理。Cargo 会下载 Rust 的包依赖项,编译您的包,生成可分发的包...

  • Rust 闭包初探

    Rust 中的闭包 Rust 中的闭包(closure)是一类特殊的函数。与普通函数相比,闭包是匿名的(当然你可以...

  • Rust DataFrame library —— polars

    包的介绍:Polars is a DataFrame library for Rust. It is based ...

  • Rust 问答之 Cargo 是什么

    Cargo:Rust 的构建工具和包管理器 文章标题来自于 Rust 官网: 入门 - Rust 程序设计语言 在...

  • rust学习笔记

    Cargo:Rust 的构建工具和包管理器 您在安装 Rustup 时,也会安装 Rust 构建工具和包管理器的最...

  • 介绍Rust(2): 基本数字类型

    Rust(1) 介绍了rust的安装 编译代码以及包管理工具。这一篇文章将重点介绍Rust的基本基本数字类型。 我...

  • Rust 闭包学习 (Fn/FnMut/FnOnce)

    学习 Rust 闭包记录 闭包作为参数 闭包作为结构体属性 异步使用闭包 主要就是加 Send trait,没加 ...

  • rust时间相关方法

    一.rust获取时间戳 使用time包获取时间戳Cargo.toml

  • Rust mod包管理

    Rust的mod管理 首先明确几个Rust的概念 Packages: 可以理解为是一个工程project,包含了c...

网友评论

      本文标题:rust包管理

      本文链接:https://www.haomeiwen.com/subject/npfwurtx.html