002、使用 Cargo 创建新项目,打印 Hello World

2023-12-27 08:20

本文主要是介绍002、使用 Cargo 创建新项目,打印 Hello World,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. Cargo 简介

        Cargo 是 Rust 的构建系统和包管理工具,比如构建代码、下载依赖的库、构建这些库等等。在安装 Rust 时,Cargo也会一起安装。

2. 创建新项目的具体步骤

步骤1:

        我们在桌面新建一个文件夹,用于存放后面练习用的代码文件,我给它起的名字是 rust_demo。

步骤2:

        进入新建的这个文件夹,单击地址栏输入 cmd,接着按回车打开命令提示符窗口。

        当然,你也可以按住 shift键,然后在空白处鼠标右键 在此处打开 Powershell 窗口(S)。不管是命令提示符窗口还是Powershell 窗口都是可以使用的,这个根据你的偏好来就行。

        在窗口中输入 cargo new hello_world,然后回车。

        若创建成功,第二行会显示 Created binary (application) `hello_world` package ,然后我们再看文件夹里,也会多出一个子文件夹,名字就叫 hello_world 

        所以,cargo new hello_world,这个就是创建新项目的命令。

cargo new hello_world

步骤3:

        接下来就是在编译器中打开这个项目。我们在黑窗口中继续输入 code . 就可以快速从Visual Studio Code中打开此项目了。

        因此,如果我们要快速且便捷地打开某个 Rust 项目,就先点进该项目的文件夹,然后在该文件夹中打开黑窗口,输入 code . 就可以直接写代码啦!这个命令以及上面的用 Cargo 创建新项目的命令是非常常用的,一定要牢记哦!

code .

步骤4:

        在编译器中的左侧目录处,我们点开 src 文件夹,然后单击下面的 main.rs 文件,这里就是我们正式写代码的地方啦!

        让人哭笑不得的是,这里已经默认写好了一个输出 “Hello, world! ” 的代码了。不过没有关系,这几行代码非常简单,我直接来解释一下吧!

        首先,fn 关键字表示这里创建了一个函数,main 就是该函数的名称,()中是空的,表示该函数没有任何参数,{ } 花括号中是函数体。

        println! 是打印的意思,如果关键字后面带个叹号,则表示这是一个宏,用于在控制台输出格式化的字符串。这个宏与C语言中的 printf 函数类似,但更加强大和灵活。

        使用 println! 可以方便地输出各种数据类型,例如整数、浮点数、字符串等。它还支持使用格式化占位符来指定输出的格式,这个我们后面再细讲。

3. 检查、构建、运行代码

3.1 检查代码

        代码写好了,我们得先检查一下是否正确,不过这里不需要人为去检查,在 Rust中,只需要在黑窗口中输入如下命令即可:

cargo check

 

         可以看到,我连续输入了2次 cargo check 命令,2次检查的结果都是没问题的。cargo check 是检查代码的命令,可以确保代码是否能通过编译,但是它不会产生任何可执行文件。

        所以,我们可以连续、反复使用 cargo check 命令来检查代码,以此来提高效率。

3.2 构建代码

        构建代码的命令是:cargo build

cargo build

        第一次构建会在顶层目录生成一个 cargo.lock 文件,该文件负责追踪项目依赖的精确版本,不需要手动修改此文件,也不建议修改,它的具体作用我们后面再细讲。

3.3 运行代码

        运行代码的命令是:cargo run

cargo run

        执行这个命令,它会做两件事,一个是编译代码,二个是执行结果。意思就是,就算你中间不用 cargo build 命令去构建,直接用 cargo run 这个命令也是没问题的,它会同时把构建的事也做了。 

        可以看到,当我们执行 cargo run 命令后,Hello, world! 就直接被打印出来了,是不是很简单?

        当然,你也可以直接在编译器中运行代码,点击一下右上角的三角形按钮就可以啦!

4. 常用命令

        这里我整理了几个常用的命令,或许你可以用得到。虽然现在还不多,但是后面我遇到了会再加进去。

命令作用
cls清空黑窗口中的内容
cd ..返回上一层目录,执行一次则返回一次
dir显示当前目录中的文件名

5. 结语

        由于能力有限、本人也还在学习摸索阶段,文中难免有错漏之处,若有读者大大发现,欢迎在评论区留言。

        最后,码字不易,即便只有一个赞也可以让我动力满满,感谢你的支持!

这篇关于002、使用 Cargo 创建新项目,打印 Hello World的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542496

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没