前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >rust的包管理

rust的包管理

原创
作者头像
李子健
发布2022-05-02 12:37:21
3990
发布2022-05-02 12:37:21
举报
文章被收录于专栏:每日一善每日一善

通过模块进行包管理

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

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

如何创建包

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

两种方式

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

定义包的模式1代码示例

代码语言:rust
复制
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

代码语言:txt
复制
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 依赖包

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 通过模块进行包管理
  • 如何创建包
  • cargo
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档