美文网首页
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包管理

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