rust包管理

2022-05-16  本文已影响0人  轻舞凋零

通过模块进行包管理

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

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

如何创建包

rust使用文件作为mod,可以任意使用的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和其他语言包管理服务一样指定模块

上一篇下一篇

猜你喜欢

热点阅读