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. 结语
? ? ? ? 由于能力有限、本人也还在学习摸索阶段,文中难免有错漏之处,若有读者大大发现,欢迎在评论区留言。
? ? ? ? 最后,码字不易,即便只有一个赞也可以让我动力满满,感谢你的支持!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!