📜  Rust 基础知识(1)

📅  最后修改于: 2023-12-03 15:04:57.889000             🧑  作者: Mango

Rust 基础知识

简介

Rust 是一门由 Mozilla 基金会开发的系统编程语言,它的主要目标是提供一种安全、并发、并行的编程方式,同时也保持了语言性能的优势,在系统级应用、Web 开发、嵌入式系统等领域都有广泛应用。

特点
  • 安全性:Rust 借助所有权、借用和生命周期等机制,保证了内存安全、线程安全和数据竞争安全,让程序员编写的代码更加稳定可靠。

  • 并发性:Rust 的 Futures 和 async/await 功能提供了轻量级的并发编程方式,使得多线程编程和异步编程更加简单。

  • 可靠性:Rust 的编译器对代码进行了严格的检查和优化,几乎可以做到无措误运行,而且由于其内存管理机制,它的性能开销也要比其他语言更小。

数据类型

Rust 的数据类型包括基本数据类型和引用类型,其中基本数据类型有整型、浮点型、布尔型、字符型等。

整型

Rust 中的整型有 i8i16i32i64i128u8u16u32u64u128 十种,它们分别表示有符号 8/16/32/64/128 位整数和无符号 8/16/32/64/128 位整数。

let a: i32 = 10;
let b: u64 = 20;
let c = a as u64 + b; // 30
浮点型

Rust 中的浮点型有 f32f64 两种,分别对应 IEEE 754 规定的单精度浮点数和双精度浮点数。

let x: f32 = 3.14;
let y: f64 = 3.14;
布尔型

Rust 中的布尔型只有两个取值:truefalse

let a: bool = true;
let b: bool = false;
字符型

Rust 中的字符型使用单引号来表示。

let c1: char = 'A';
let c2: char = '中';
控制流

Rust 中的控制流语句有分支语句和循环语句,包括 ifmatchwhileforloop 等。

分支语句

Rust 中的 if 分支语句有三种形式:ifif...elseif...else if...else

let a = 10;
if a % 2 == 0 {
    println!("a is even");
} else {
    println!("a is odd");
}
循环语句

Rust 中的 while 循环语句和 for 循环语句很像,但是 while 可以用来循环一个任意条件的操作,for 用来迭代某个集合的所有元素。

let mut i = 0;
while i < 5 {
   println!("i = {}", i);
   i += 1;
}

let arr = [1, 2, 3, 4, 5];
for num in arr.iter() {
    println!("{}", num);
}
函数

Rust 中的函数使用 fn 关键字声明,有多个参数时需要使用括号括起来,可以在函数中使用 return 返回自定义类型的值。

fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn main() {
    let sum = add(3, 4);
    println!("3 + 4 = {}", sum);
}
结构体

Rust 中的结构体用来组织多个相同或不同类型的数据,可以通过 impl 关键字实现方法和 trait。

struct Person {
    name: String,
    age: i32,
}

impl Person {
    fn say_hello(&self) {
        println!("Hello, my name is {} and I'm {} years old.", self.name, self.age);
    }
}

fn main() {
    let p = Person { name: String::from("Alice"), age: 20 };
    p.say_hello();
}
参考资料