RUST入门(一)

本文介绍了Rust语言的基础知识,包括其特点、安装方法及简单应用示例。通过IDEA搭建开发环境,演示了如何创建并运行Rust项目。

前言

我本人主要是做java的, java极度完善的生态, 使得我认为, 在业务开发领域, 别的语言很难挑战java的地位.
但是java作为一门高级语言, 它太高了, 在偏底层的领域是比较弱势的.
偏底层的领域一般都是C语言, C语言也是和操作系统以及硬件结合得最为紧密的语言, 我从未想到过, 会出现这么一门语言, 具备挑战C语言的巨大潜力, 这门语言就是RUST.


一、RUST是什么?

RUST官网地址: https://www.rust-lang.org/
官网描述: A language empowering everyone to build reliable and efficient software
RUST是一门专注于安全和效率的语言
.

RUST的特点有2个:

  1. 安全–主要是指内存安全
  2. 高效–指的是运行快, 比肩C, 开发并不一定高效~~

个人感受开发的特点:
编译器教你写代码, 编译速度感人

二、安装步骤(windows)

1.使用RUSTUP安装RUST

RUSTUP下载地址:https://www.rust-lang.org/zh-CN/learn/get-started

RUSTUP的安装依赖于MSVC(推荐用这个)或者MINGW, 因此, 如果没有安装MSVC则下载安装下,
如果你常玩3A游戏大作, 那么你很有可能已经安装过了~~.

具体步骤如下:

1.先安装MSVC
MSVC下载路径如下图所示:
在这里插入图片描述
2.再运行RUSPUP, 来到下面的页面, 输入1, 回车
在这里插入图片描述
3.安装后, 命令行, rustc –V, 可以看到安装成功了
在这里插片描述


2.RUST换源

RUST的第三方包默认是从https://crates.io/下载的, 国内速度很慢, 因此要换源.

配置如下:

# 放到 `$HOME/.cargo/config` 文件中,windows系统中的$HOME就是"我的文档"
[source.crates-io]
#registry = "https://github.com/rust-lang/crates.io-index"

# 替换成你偏好的镜像源
replace-with = 'ustc'

# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
#git不通,可以改用http
#registry = "https://mirrors.ustc.edu.cn/crates.io-index"

# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

在这里插入图片描述


二、Hello world!

1.idea安装RUST插件

Idea, plugins中搜索Rust, 安装
在这里插入图片描述

2.新建RUST项目

选择Binary(application), 它会默认生成main.rs (main.rs是binary crate, 后面会介绍)
如果选了Library, 它会默认生成lib.rs (lib.rs是liberary crate)
在这里插入图片描述
然后下一步下一步地搞, 此处项目命名为"hello"

3.项目结构

在这里插入图片描述
上面的lib.rs是我为了解释方便手动加的, 其他都是自动生成的.

RUST使用Cargo来构建系统和包管理

  1. package(包)
    记录在Cargo.toml中, 1个package可以包含多个crate, 模块打包的包
  2. crate(箱)
    main.rs—binary crate, 一个package下可以有多个binary crate (二进制箱), 但是只有一个main.rs, 因为main.rs是程序的执行入口
    lib.rs—library crate (库箱), 可以没有, 一个package下最多只有一个lib.rs. 一般来说, 会把核心代码统一收口在lib.rs中, 由main.rs调用lib.rs来执行

4.运行main.rs

在这里插入图片描述
在这里插入图片描述
Idea运行的命令可以简化为:

cargo run

先编译为”包名.exe”, 然后再执行

5.main.rs中调用lib.rs

在这里插入图片描述
在这里插入图片描述

main.rs第一行, “use hello::Order”, “hello"代表了包名, Order代表了结构体名.
即main.rs中引用lib.rs的方式,是使用包名"hello”, 此处引入了lib.rs中的结构体Order

在这里插入图片描述

6.生成文档

在这里插入图片描述
RUST可以对注释自动生成文档, 标准库的源码点开来就能看到注释格式了, 因此就直接贴图了
在这里插入图片描述

cargo doc --open
生成并打开文档

在这里插入图片描述


总结

本章先认识下RUST, 后面介绍RUST的安全, 并在过程中带上数据类型等介绍
下一章: RUST的安全

<think>首先,用户的问题是:“我想获取Rust语言入门指导 请问Rust语言入门指南”。这直接要求Rust语言入门指南。 系统级指令要求我: - 所有行内数学表达式使用$...$格式(但在这个上下文中,可能不需要,因为问题不涉及数学)。 - 独立公式使用$$...$$单独成段(同样,可能不适用)。 - LaTeX语法正确(确保任何公式正确)。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾添加引用标识,如[^1]。 - 回答结构清晰,逐步解决问题,尽量真实可靠。 - 最后,生成相关问题。 参考的站内引用: - [^1]: Rust语言入门到坟墓:第篇。包括安装、第个程序、变量和数据类型、函数、控制流、所有权和借用。 - [^2]: Rust语言入门指南:从零基础到上手实践。建议从官方书开始,其他资源如Rustlings、Crates.io、社区。 - [^3]: 支持Rust的IDE列表,如VS Code、Eclipse、Emacs、Vim等。 - [^4]: Rust关键字列表。 用户的问题是关于Rust入门指南,所以我需要整合这些信息,提供个结构化的入门步骤。 结构化回答: 1. **介绍Rust**:简要说明Rust是什么,它的特点(如安全、性能好)。 2. **安装Rust**:基于引用,说明如何安装。 3. **第个程序**:如何编写和运行第Rust程序。 4. **基本概念**:变量、数据类型、函数、控制流等。 5. **所有权和借用**:Rust的核心特性。 6. **资源推荐**:基于引用,推荐学习资源。 7. **IDE设置**:可选,但引用中有,可以提到。 确保引用标识:在回答中,当引用特定信息时,添加如[^1]。 生成相关问题:在最后,添加“相关问题”部分,基于内容生成几个问题。 回答使用中文。 大纲: - **前言**:介绍Rust。 - **步骤1: 安装Rust**:描述安装过程。 - **步骤2: 第个程序**:Hello World示例。 - **步骤3: 基本语法**:变量、数据类型、函数、控制流。 - **步骤4: 所有权和借用**:解释核心概念。 - **步骤5: 学习资源**:推荐书籍和工具。 - **相关问题**:生成2-3个问题。 确保内容真实:基于般知识和引用。 现在,构建回答。 </think> ### Rust 语言入门指南 Rust种系统编程语言,以其内存安全、高性能和并发支持而闻名。它特别适合开发操作系统、游戏引擎、Web 服务器等高性能应用[^1]。本指南将步步带你从零开始学习 Rust,涵盖安装、基础语法、核心概念及学习资源。 #### 1. ⚙️ 安装 Rust 首先,你需要安装 Rust 工具链。Rust 官方提供了个名为 `rustup` 的工具,用于管理 Rust 版本和相关组件。安装步骤如下: - **Windows/Linux/macOS**: 打开终端,运行以下命令: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` 安装完成后,运行 `rustc --version` 验证是否成功。输出类似 `rustc 1.76.0 (2023-xx-xx)` 表示安装正确。 #### 2. ✍ 编写第Rust 程序 创建个简单的 "Hello, World!" 程序来熟悉 Rust 的基本工作流程: 1. 创建个新项目: ```bash cargo new hello_world cd hello_world ``` 2. 编辑 `src/main.rs` 文件,输入以下代码: ```rust fn main() { println!("Hello, World!"); } ``` 3. 运行程序: ```bash cargo run ``` 输出应为 `Hello, World!`。`cargo` 是 Rust 的构建工具和包管理器,它自动处理编译和依赖。 #### 3. ❄️ 变量和数据类型 Rust 是静态类型语言,变量默认不可变(immutable)。使用 `let` 声明变量,`mut` 关键字使其可变。 - **变量示例**: ```rust let x = 5; // 不可变变量 let mut y = 10; // 可变变量 y = 15; // 允许修改 ``` - **数据类型**: Rust 有标量类型(如 `i32`、`f64`、`bool`、`char`)和复合类型(如元组和数组)。 - 示例:`let tuple: (i32, f64, char) = (500, 6.4, 'a');`[^4]。 #### 4. 🎶 函数 使用 `fn` 定义函数。Rust 支持表达式和语句,函数返回值通过最后行表达式隐式返回,或使用 `return` 关键字。 - **示例**: ```rust fn add(a: i32, b: i32) -> i32 { a + b // 隐式返回 } println!("Sum: {}", add(2, 3)); // 输出 Sum: 5 ``` #### 5. 🙌 控制流 Rust 提供 `if`、`loop`、`while` 和 `for` 控制结构。`if` 语句是表达式,可赋值。 - **示例**: ```rust let number = 6; if number % 2 == 0 { println!("Even"); } else { println!("Odd"); } // for 循环遍历数组 for i in [1, 2, 3] { println!("{}", i); } ``` #### 6. 💖 所有权和借用 这是 Rust 的核心特性,确保内存安全无需垃圾回收。 - **所有权**: 每个值有唯所有者,所有者离开作用域时值被释放。 - 示例:`let s1 = String::from("hello"); let s2 = s1;` 后,`s1` 无效(所有权转移)。 - **借用**: 通过引用(`&`)访问值而不转移所有权,分不可变借用和可变借用。 - 示例:`fn calculate_length(s: &String) -> usize { s.len() }`[^4]。 #### 7. 📚 学习资源和工具 - **官方资源**: 从《The Rust Programming Language》(免费在线书)开始,边读边练。 - **练习平台**: 使用 Rustlings 进行交互式练习。 - **社区支持**: 访问 Crates.io 探索库,或加入 Reddit r/rust 和官方论坛求助[^2]。 - **IDE 推荐**: - **Visual Studio Code**:安装 Rust 扩展,由 Rust 团队维护,支持最佳。 - 其他:Eclipse(Corrosion 插件)、IntelliJ IDEARust 插件)、Vim/Emacs(特定插件)[^3]。 #### 下步建议 掌握基础后,尝试构建小项目(如命令行工具),并深入学习错误处理、模块系统和并发编程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值