Rust 基础语法学习笔记

变量和数据类型

变量声明

使用 let 关键字声明变量,语法格式如下:

rustCopy Code
let variable_name: data_type = value;

例如,声明一个整型变量 x 并赋值为 1

rustCopy Code
let x: i32 = 1;

数据类型

Rust 提供了以下常用的数据类型:

  • 整型:i8i16i32i64i128u8u16u32u64u128
  • 浮点型:f32f64
  • 布尔型:bool
  • 字符型:char
  • 字符串型:&strString

例如,声明一个浮点型变量 y 并赋值为 3.14

rustCopy Code
let y: f64 = 3.14;

条件语句

if 表达式

if 表达式在 Rust 中的语法格式如下:

rustCopy Code
if condition { // code to run if the condition is true } else { // code to run if the condition is false }

例如,判断变量 x 是否等于 1

rustCopy Code
if x == 1 { println!("x is equal to 1"); } else { println!("x is not equal to 1"); }

match 表达式

match 表达式在 Rust 中用于匹配模式,语法格式如下:

rustCopy Code
match value { pattern => { // code to run if the value matches the pattern } _ => { // code to run if no pattern matches the value } }

例如,根据变量 x 的值打印不同的字符串:

rustCopy Code
match x { 1 => println!("x is one"), 2 => println!("x is two"), _ => println!("x is neither one nor two"), }

循环语句

Rust 提供了三种循环语句:loopwhilefor

loop 循环

loop 循环会一直重复运行代码块,直到显式使用 break 关键字退出循环,语法格式如下:

rustCopy Code
loop { // code to repeat indefinitely if condition { break; } }

例如,使用 loop 循环计算 110 的和:

rustCopy Code
let mut sum = 0; let mut count = 1; loop { sum += count; count += 1; if count > 10 { break; } } println!("The sum is {}", sum);

while 循环

while 循环会在每次运行代码块之前检查条件是否为真,只有条件为真时才会运行代码块,语法格式如下:

rustCopy Code
while condition { // code to repeat as long as the condition is true }

例如,使用 while 循环计算 110 的和:

rustCopy Code
let mut sum = 0; let mut count = 1; while count <= 10 { sum += count; count += 1; } println!("The sum is {}", sum);

for 循环

for 循环用于迭代一个集合中的所有元素,语法格式如下:

rustCopy Code
for item in collection { // code to run for each item in the collection }

例如,使用 for 循环打印数组中的所有元素:

rustCopy Code
let arr = [1, 2, 3, 4, 5]; for element in arr.iter() { println!("{}", element); }

函数

Rust 中的函数使用 fn 关键字声明,语法格式如下:

rustCopy Code
fn function_name(parameter_name: parameter_type) -> return_type { // code to run when the function is called return value; }

例如,实现一个函数 add,用于计算两个整数的和:

rustCopy Code
fn add(x: i32, y: i32) -> i32 { return x + y; } let result = add(1, 2); println!("{}", result);

结构体

结构体是 Rust 中用于封装多个相关数据的机制,语法格式如下:

rustCopy Code
struct StructName { member_name: member_type, // more members... } let struct_instance = StructName { member_name: value, // more member initialization... };

例如,实现一个包含姓名和年龄的结构体 Person

rustCopy Code
struct Person { name: String, age: i32, } let john = Person { name: String::from("John"), age: 30, }; println!("{} is {} years old", john.name, john.age);

枚举

枚举是 Rust 中用于定义有限集合的值的方式,语法格式如下:

rustCopy Code
enum EnumName { Value1, Value2, // more values... } let value = EnumName::Value1;

例如,定义一个枚举类型 Color,包含红、绿和蓝三种颜色:

rustCopy Code
enum Color { Red, Green, Blue, } let color = Color::Red;