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

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa