首页 > 其他分享 >Rust 从入门到摔门而出门 环境安装 和 Hello, world!

Rust 从入门到摔门而出门 环境安装 和 Hello, world!

时间:2024-01-11 15:24:38浏览次数:27  
标签:cargo Hello 摔门 world main hello Rust

### 环境安装

####  在 Linux 或者 macOS 上安装 RustUp 环境

打开终端,执行下面命令

```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

命令不对可以打开 [rust官网](https://www.rust-lang.org/learn/get-started) 查看最新的 rustup 脚本连接

#### &#x20;Windows 安装 打开链接: <https://forge.rust-lang.org/infra/other-installation-methods.html> 在底部找到对应系统的安装包下载 ,官方 Rust 独立安装程序包含 Rust 的单个版本,适合离线安装。它们具有三种形式:.tar.gz可在任何类 Unix 环境中运行的 tarball(扩展名)、Windows 安装程序 ( .msi) 和 Mac 安装程序 ( .pkg)

##### &#x20;安装成功 会 出现 Rust is installed now. Great!&#x20;

或者使用下面命令查看是否安装成功:

```bash
rustc --version
```

输出 版本号 和 对应的 Commit Hash 和 Commit 日期

#### &#x20;安装错误

1. 缺少 C ++编译器\
在 macOS 上,你可以通过运行以下命令获得 C 语言编译器:\
`xcode-select --install`\
在 Windows 上安装 Visual Studio 下载链接:<https://visualstudio.microsoft.com/zh-hans/downloads/>\
一定要勾选 C ++ 和 Windows 10(或 11)SDK
2. 检查系统环境变量中是否有 Rust。

Linux 或者 macOS

`echo $PATH`

Windows

`echo %PATH%`

#### 更新和卸载

更新命令

```bash
rustup update
```

卸载Rust

```bash
rustup self uninstall
```

### Hello, World!

创建一个文件,命名 mian.rs。 Rust 语言使用.rs 扩展名结尾。书写下面代码:

```rust
fn main() {
println!("Hello, world!");
}
```

保存文件,执行下列命令

```bash
# 执行命令生成 mian 文件, Windows上会生成 mian.exe 文件
rustc main.rs
# 执行 mian 文件(Windows上执行./mian.exe ), 输出 Hello, world!
./mian
```

分析 Hello, World! 代码

```rust
fn main() {

}
```

上述代码 声明了 main函数,在rust中 fn 声明函数,main函数名,() 函数参数。和JavaScript声明函数类似。
但是 main函数在Rust中是一个特殊的函数,在可执行的Rust中,它总是最先运行的。


```rust
println!("Hello, world!");
```
上述代码中是将 "Hello, world!" 字符串打印在控制台中。println! 是调用Rust的宏,println后面! 代表是Rust的宏, 函数名后有!代表调用宏,不是普通的函数,并且宏并不总是遵循与函数相同的规则。(后面会详细讲解 宏和函数的区别)

### Rust的包管理器 Cargo

执行命令,检查是否安装 Cargo。
```bash
cargo --version
```
输出版本号 类似:`cargo 1.74.1 (ecb9851af 2023-10-18)` 说明安装成功,失败检查前面说的环境安装是否正确。

使用 cargo new 创建项目 hello_cargo
```bash
cargo new hello_cargo
```
输出: `Created binary (application) 'hello_cargo' package` 说明执行完成,项目创建成功,目录下多个 `hello_cargo` 文件夹,

```
.
├── Cargo.toml
├── .gitignore
└── src
└── main.rs
```

.gitignore 文件不用多说,就是提交git的忽略文件。

#### `Cargo.toml` 文件
```rust
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

```
`[package]`是表明下面的是项目的配置包,`name`项目名,`version`项目版本,`edition`使用的Rust版本值,目前Rust有三个可用版本 Rust 2015、Rust 2018 和 Rust 2021。
`[dependencies]`是表示项目的依赖。

#### `src/main.rs`文件

```rust
fn main() {
println!("Hello, world!");
}
```
文件中的代码在上面讲了,下面直接打包和运行。

运行下列命令,执行打包
```
cargo build
# 输出: Compiling hello_cargo v0.1.0 (/Users/Desktop/hello_cargo)
# 输出: Finished dev [unoptimized + debuginfo] target(s) in 5.28s
```
项目中生成`target`文件夹
```
└── target
├── CACHEDIR.TAG
└── debug
├── build
├── deps
│ ├── hello_cargo-a1f21a4d52da3e0b
│ ├── hello_cargo-a1f21a4d52da3e0b.3231yef6husp4ddt.rcgu.o
│ ├── hello_cargo-a1f21a4d52da3e0b.37sdwxqpuxtu2snh.rcgu.o
│ ├── hello_cargo-a1f21a4d52da3e0b.4em3h7osa6tnf2p2.rcgu.o
│ ├── hello_cargo-a1f21a4d52da3e0b.50l93nlojbrf81qi.rcgu.o
│ ├── hello_cargo-a1f21a4d52da3e0b.56xem4cvf5ag3zeo.rcgu.o
│ ├── hello_cargo-a1f21a4d52da3e0b.d
│ └── hello_cargo-a1f21a4d52da3e0b.mpat6w57bkh6npw.rcgu.o
├── examples
├── hello_cargo
├── hello_cargo.d
└── incremental
└── hello_cargo-2i1cc5ixgm7c7
├── s-gsctrlm17h-ykoxtd-a7zicxfr117j2bgas6kr34p0i
│ ├── 3231yef6husp4ddt.o
│ ├── 37sdwxqpuxtu2snh.o
│ ├── 4em3h7osa6tnf2p2.o
│ ├── 50l93nlojbrf81qi.o
│ ├── 56xem4cvf5ag3zeo.o
│ ├── dep-graph.bin
│ ├── mpat6w57bkh6npw.o
│ ├── query-cache.bin
│ └── work-products.bin
└── s-gsctrlm17h-ykoxtd.lock
```
直接执行命令:

```
./target/debug/hello_cargo
```
或者使用
```
cargo run
```
运行项目,在控制台中输出 Hello, world!


check 命令可以检查代码,保证其可以编译。
```
cargo check
```

#### 发布
项目准备发布时,使用 --release 优化编译项目。
```
cargo build --release
```

 

标签:cargo,Hello,摔门,world,main,hello,Rust
From: https://www.cnblogs.com/Ferdinand-B/p/17958643

相关文章

  • Hello,World!
    “Hello,world”的由来可以追溯到 TheCProgrammingLanguage 。在这门编程语言中,它被用作第一个演示程序,向人们展示了在计算机屏幕上输出“Helloworld”这行字符串的计算机程序。由于这个演示程序的简洁性和直观性,它成为了许多初学者学习编程的第一个示例。此后的许多程序员......
  • Codeforces [Hello 2024]
    CodeforcesHello2024主打一个昏了头A.WalletExchange#include<bits/stdc++.h>#defineendl'\n'//#defineintlonglongusingnamespacestd;constintN=2e5+10;inta,b;voidsolve(){ cin>>a>>b; if((a+b)&1)cout<<......
  • Python Machine Learning Projects: Building RealWorld Applications
    1.背景介绍人工智能和机器学习技术在过去的几年里取得了巨大的进步,这使得许多实际应用成为可能。这本书《16.PythonMachineLearningProjects:BuildingReal-WorldApplications》旨在帮助读者理解这些实际应用,并提供有关如何使用Python编写机器学习代码的实践指南。本书的目......
  • GANs in the Wild: RealWorld Applications of Generative Adversarial Networks
    1.背景介绍生成对抗网络(GenerativeAdversarialNetworks,GANs)是一种深度学习算法,由伊戈尔·Goodfellow等人于2014年提出。这种算法通过两个神经网络来学习数据分布:一个生成器(Generator)和一个判别器(Discriminator)。生成器的目标是生成类似于训练数据的新数据,而判别器的目标是区分这......
  • HelloWorld
    HelloWorld新建一个文件夹用于存放代码新建一个java文件文件后缀名为.javaHello.java【注意】系统可能没有显示后缀名,需手动打开publicclassHello{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}编译j......
  • PyCharm基本使⽤-hello world
    Projects-NewProject,新建一个项目 选择python解释器,可以在cmd中输入wherepython切换到ProjectFiles可以只看项目文件,简洁一些 新建PythonFile 书写print('helloworld!'),然后右键空白处,运行 运行结果如下: ......
  • HelloWold+遇到的问题
    HelloWorld随便新建一个文件夹,存放代码建立一个java文件(code-代码)文件名后缀为.javaHello.java编写代码publicclassHello{publicstaticvoidmain(String[]args){System.out.print("Hello,World!");}}编译javacjava文件,生成新的class文件......
  • Java 系统学习 | Springboot 写 hello world
    经过一段时间基础学习,现在开始使用Springboot框架完成项目,特地记录一下,方便后续查漏补缺。本篇使用Springboot3框架,IDEA2022编辑器,java17版本。新建项目file->new->project弹框中填入自己的信息Name项目名称Location项目存放路径LanguageJavaB......
  • The World of Virtual Reality (VR) and Augmented Reality (AR): Applications and F
    1.背景介绍VirtualReality(VR)andAugmentedReality(AR)aretworapidlyevolvingtechnologiesthathavethepotentialtorevolutionizethewayweinteractwiththedigitalworld.VRcreatesacompletelyimmersiveexperiencebytransportinguserstoavirtua......
  • 第一个程序:HelloWorld——IDEA 使用
    IDEA创建是:项目(projefct)、模块(module)、包(package)、类(class)1. 双击打开IDEA,勾选Donotimportsettings点击OK。2. 选择NewProject这里选择创建一个空的项目名为helloworld2023,选择项目创建路径,最后点击创建即可。3. 右键项目创建一个模块名为test;4. 右键模块名下面的......