Rust 基础语法

Rust 基础语法

引言

Rust 是一种系统编程语言,旨在提供内存安全、并发支持和高性能。它由 Mozilla Research 开发,并在 2015 年发布。Rust 的设计目标是让开发者能够编写安全、高效的代码,同时避免了传统编程语言中的许多常见错误。本文将介绍 Rust 的基础语法,帮助读者快速入门。

标识符与关键字

标识符

标识符是用于命名变量、函数、模块、结构体等的名称。在 Rust 中,标识符遵循以下规则:

  • 标识符必须以字母、下划线或反斜杠开头。
  • 标识符的其余部分可以包含字母、数字、下划线或反斜杠。
  • 标识符是大小写敏感的。

关键字

关键字是 Rust 语言中预定义的具有特殊含义的单词。以下是一些常见的关键字:

  • let:声明变量。
  • fn:定义函数。
  • struct:定义结构体。
  • enum:定义枚举。
  • impl:实现一个结构体或枚举的方法。

变量与常量

在 Rust 中,变量和常量的声明方式如下:

rust 复制代码
let x = 5;
const PI: f64 = 3.141592653589793;
  • let 用于声明变量。
  • const 用于声明常量。
  • 变量和常量的类型可以省略,Rust 会根据值自动推导类型。

数据类型

Rust 提供了多种数据类型,包括:

整数类型

rust 复制代码
let a: i32 = 10; // 有符号 32 位整数
let b: u32 = 20; // 无符号 32 位整数

浮点数类型

rust 复制代码
let c: f32 = 3.14; // 32 位浮点数
let d: f64 = 6.28; // 64 位浮点数

布尔类型

rust 复制代码
let e: bool = true;

字符串类型

rust 复制代码
let f = "Hello, world!";
let g: &str = "你好,世界!"; // 字符串字面量

元组

rust 复制代码
let h = (1, "two", 3.0);

数组

rust 复制代码
let i = [1, 2, 3, 4, 5];

切片

rust 复制代码
let j = &i[1..3]; // 切片表示对数组的引用

控制流

Rust 提供了条件语句和循环语句来实现控制流。

条件语句

rust 复制代码
let x = 5;
if x > 3 {
    println!("x 大于 3");
} else {
    println!("x 不大于 3");
}

循环语句

rust 复制代码
let mut counter = 0;
while counter < 10 {
    println!("计数器:{}", counter);
    counter += 1;
}

函数

在 Rust 中,函数使用 fn 关键字声明。

rust 复制代码
fn main() {
    println!("Hello, world!");
}

模块与包

模块用于组织代码,包用于管理项目。

模块

rust 复制代码
mod my_module {
    pub fn my_function() {
        println!("模块中的函数");
    }
}

rust 复制代码
// main.rs
fn main() {
    println!("Hello, world!");
}

总结

本文介绍了 Rust 的基础语法,包括标识符、关键字、变量与常量、数据类型、控制流、函数和模块。通过学习本文,读者可以快速入门 Rust 编程。当然,Rust 语言还有很多高级特性,需要进一步学习和实践。

SEO 优化

  • 标题:Rust 基础语法
  • 关键词:Rust、基础语法、系统编程语言、内存安全、并发支持、高性能
  • 描述:本文介绍了 Rust 的基础语法,包括标识符、关键字、变量与常量、数据类型、控制流、函数和模块,帮助读者快速入门 Rust 编程。

(字数:2027字)

相关推荐
卷Java4 分钟前
GPTQ vs AWQ vs GGUF:模型量化工具横向测评
开发语言·windows·python
charlie11451419122 分钟前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
xinhuanjieyi1 小时前
极语言让ai学习的方法
开发语言·学习
xiaogutou11211 小时前
2026年历史课件PPT模板选购指南:教师备课效率与精度的平衡方案
开发语言·c#
StockTV1 小时前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
chaofan9802 小时前
GPT-5.5 领衔 Image 2.0:像素级控制时代,AI 绘图告别开盲盒
开发语言·人工智能·python·gpt·自动化·api
爱码小白2 小时前
Python 异常处理 完整学习笔记
开发语言·python
c++之路2 小时前
C++20概述
java·开发语言·c++20
芝士就是力量啊 ೄ೨2 小时前
Python如何编写一个简单的类
开发语言·python
逻辑驱动的ken3 小时前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法