• cargo介绍


    cargo

    cargo是rust的包管理工具,这个工具非常Nice。它提供了从项目的建立、构建到测试、运行直至部署的所用功能。

    使用cargo创建项目

    在终端中直接执行下面的命令,将会创建一个名为hello-rust的新目录。

    cargo new hello-rust
    
    • 1

    这样就会默认就创建一个 bin 类型的项目(最终生成二进制可执行文件),也可以在cargo new的时候指定参数–lib来生成库。最离谱的是当你本地有git的时候,cargo会直接帮你初始化git仓库(如果你不是需要版本控制工具或者是不使用git,没关系,在cargo new的时候指定–vcs为git, hg, pijul, fossil, none其中之一即可,默认是git)。

    .
    ├── Cargo.toml
    ├── .git
    ├── .gitignore
    └── src
        └── main.rs
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    Cargo.toml是 Rust 的清单文件。它是保存项目元数据以及依赖项的地方。

    src/main.rs是我们编写应用程序代码的地方。
    现在,让我们来运行这个项目,只需要在终端中输入 cargo run即可。在终端中的输出如下:

    Compiling hello-rust v0.1.0 (/home/ubuntu/learn/rust/hello-rust)
     Finished dev [unoptimized + debuginfo] target(s) in 0.48s
      Running `target/debug/hello-rust`
    Hello, world!
    
    • 1
    • 2
    • 3
    • 4

    cargo run 首先会对项目进行编译,然后再运行。它相当于在终端执行下面两条命令

    cargo build
    ./target/debug/hello-rust
    
    • 1
    • 2

    cargo build是编译,构建rust项目。默认情况下,它生成debug模式的程序。如果需要生成release版本的程序,只需要加上参数–release即可。

    cargo run --release
    cargo build --release
    
    • 1
    • 2

    当我们执行了cargo build或者cargo run之后,就会在当前项目下生成一个Cargo.lock文件以及target目录。Cargo.lock 文件是 cargo 工具根据同一项目的 toml 文件生成的项目依赖详细清单;target目录下存放着debug和release版本相关的文件。

    cargo check

    比起go语言,rust的编译速度还是较慢的。为了开发者的体验,cargo check命令可以用来检查rust语言的语法错误。该命令可以快速的检查代码能否编译通过。

    hello world

    cargo自动生成的代码,输出了Hello, world!,现在让我们来看看main.rs中的代码。

    fn main() {
        println!("Hello, world!");
    }
    
    • 1
    • 2
    • 3

    main函数

    main 函数是一个特殊的函数:在可执行的 Rust 程序中,它总是最先运行的代码,它没有参数也没有返回值。在执行程序时,由操作系统调用main函数。

    println! 是调用了一个 Rust 宏(macro)。如果是调用函数,则应输入 println(没有!)。"Hello, world!"作为字符串,传递给宏println!

    分号

    rust语句以分号结尾(;),如果没有加分号,则成为一个表达式。

    unicode支持

    Rust 原生支持 UTF-8 编码的字符串。现在我们给代码加上中文输出。

    fn main() {
        println!("Hello, world!");
        println!("你好,世界!");
    }
    
    • 1
    • 2
    • 3
    • 4

    现在编译,运行。输出结果如下:

    Hello, world!
    你好,世界!
    
    • 1
    • 2

    参考资料

    Rust 程序设计语言
    Rust 语言圣经

  • 相关阅读:
    Maven
    【华为机试题分析】 6 质数因子
    分布式事务----seata
    day09_数组进阶
    loT行业生死竞速:Aqara绿米得用户得天下
    Win11蓝屏开不了机进入安全模式的快速方法
    C语言十六弹 --求两个整数二进制位不同的位数
    印尼医疗龙头企业Halodoc的数据平台转型之数据平台V2.0
    使用JMeter进行接口测试教程
    UGUI画布加载优化
  • 原文地址:https://blog.csdn.net/zy010101/article/details/127953510