温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Cargo工具高效创建Rust项目

发布时间:2022-08-12 11:10:05 来源:亿速云 阅读:290 作者:iii 栏目:开发技术

这篇文章主要介绍了如何使用Cargo工具高效创建Rust项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Cargo工具高效创建Rust项目文章都会有所收获,下面我们一起来看看吧。

一、功能强大的Cargo工具

1、Cargo工具是什么?

  • Cargo是Rust 的构建系统和包管理工具,主要功能包括:

    • 创建和管理 Rust 的模块系统

    • 下载和管理依赖库

    • 调用rustc或其他构建工具来构建项目

  • 安装Rust 的时候会自动安装Cargo

    • 验证的命令:cargo --version

2、使用Cargo命令创建 hello_cargo 项目

命令:cargo new hello_cargo

如何使用Cargo工具高效创建Rust项目

其中code .是VSC工具的命令,意思是使用他来打开项目文件:

如何使用Cargo工具高效创建Rust项目

可以看到Cargo工具为我们生成了其他的文件,具体看一下都是什么作用:

自动创建了一个新目录hello_cargo,包含:

  • Cargo.toml

  • src目录

    • main.rs

  • 初始化了一个新的Git仓库:.gitignore

    • 可以使用其他的vcs(版本控制系统)

    • 或者不适用vcs:cargo new 项目名 --vcs

3、项目文件目录里各文件的内容和特点

  • Cargo.toml

  • TOML(Tom’s Obvious,Minimal Language)格式,存放Cargo的配置

如何使用Cargo工具高效创建Rust项目

  • [package],是一个区域标题,表示下方内容是用来配置包的(package)

  • name:项目名

  • version:项目版本

  • edition:使用的Rust版本

  • [dependencies]

  • 另一个区域的开始,它会列出项目的依赖项。

  • 在Rust里,代码的包写做:crate

2.src/main.rs

  • cargo生成的 main.rs 在src目录下,此外源代码都应该放在src目录下

  • 而cargo.toml在项目顶层下

  • 顶层目录可以放置:RENAME、许可信息、配置文件等

  • 将非cargo创建的项目转化为cargo的方法:

  • 把源代码移动到src里面

  • 创建cargo.toml并填写相应的配置

3.Cargo.lock

  • 第一次执行Cargo build命令会在顶层目录生成 cargo.lock文件

  • 该文件负责追踪项目依赖的精确版本

  • 不需要手动修改此文件

4、Cargo 常用命令

  • cargo build

  • 创建可执行文件:target\debug\hello_cargo.exe

  • cargo run

  • 构建和运行cargo项目,编译代码+执行结果

  • 如果之前编译过且源码没有发生改变,则会直接运行二进制文件

  • cargo check

  • 检查代码,确保能够通过编译,但是不产生任何可执行文件

  • cargo check 要比 cargo build 快得多

  • 编写代码得时候可以周期性得使用cargo check命令检查代码,提高效率

  • cargo build --release

  • 一共两种配置:

  • 开发使用 :cargo build

  • 正式发布: cargo build --release

  • 为发布构建,编译时会进行优化

  • 代码运行速度会更快,但是编译时间长

  • 会在target/release 目录下生成可执行文件,而不是 target/debug

二、Rust 语言的输入输出

1、输入输出测试

源码:

use std::io;
fn main() {
    println!("测试输入输出功能");
    println!("从键盘输入一个数字:");

    let mut a=String::new();

    io::stdin().read_line(&mut a).expect("无法读取行");
    
    println!("输出结果为:{}",a);
}

运行效果:

如何使用Cargo工具高效创建Rust项目

2、具体代码解析

接下来把不熟悉的代码依次解释:

let mut a=String::new();
 

let用来声明变量,mut代表该变量值可修改,String::new()意思是调用String类的实例。

  • 在Rust 中默认变量不可修改,加上mut 才可以被修改

  • new 在Rust 中常用来创建类型实例

  • 这句话的意思就是将一个空白的字符串绑定到可变的字符串变量a上

use std::io;
io::stdin().read_line(&mut a).expect("无法读取行");

use用来引入库,std::io在Rust 中代表标准的输入输出,整体可理解为c中的#include<stdio.h>
在io库调用stdin()类里的read_line()方法,而该方法需要传入可变字符串,因此将 &mut a传入,
为什么要加地址符&呢,这里啊用到了C++里的引用,这样参数列表里字符串的变化会修饰实参a的变化,且不会产生副本,安全高效。最后还有一个ecpect()方法,read_line()方法会返回一个Result枚举类型,含有Ok 和 Err 两个变体。

  • 如果Result返回的是Err,那么expect()方法就会中断整行代码并打印expect里的信息。

  • 如果返回的是OK,那么就会把read_line()方法中得到的值赋给OK一并返回给用户。

println!("输出结果为:{}",a);

类似于c 里的 printf("输出结果为%d",a);上面的{}是一个占位符,输出的时候会被后面变量的值取代,有几个{}后面就有多少变量。

关于“如何使用Cargo工具高效创建Rust项目”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何使用Cargo工具高效创建Rust项目”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI