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

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语