📅  最后修改于: 2023-12-03 15:04:57.889000             🧑  作者: Mango
Rust 是一门由 Mozilla 基金会开发的系统编程语言,它的主要目标是提供一种安全、并发、并行的编程方式,同时也保持了语言性能的优势,在系统级应用、Web 开发、嵌入式系统等领域都有广泛应用。
安全性:Rust 借助所有权、借用和生命周期等机制,保证了内存安全、线程安全和数据竞争安全,让程序员编写的代码更加稳定可靠。
并发性:Rust 的 Futures 和 async/await 功能提供了轻量级的并发编程方式,使得多线程编程和异步编程更加简单。
可靠性:Rust 的编译器对代码进行了严格的检查和优化,几乎可以做到无措误运行,而且由于其内存管理机制,它的性能开销也要比其他语言更小。
Rust 的数据类型包括基本数据类型和引用类型,其中基本数据类型有整型、浮点型、布尔型、字符型等。
Rust 中的整型有 i8
、i16
、i32
、i64
、i128
、u8
、u16
、u32
、u64
和 u128
十种,它们分别表示有符号 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 中的浮点型有 f32
和 f64
两种,分别对应 IEEE 754 规定的单精度浮点数和双精度浮点数。
let x: f32 = 3.14;
let y: f64 = 3.14;
Rust 中的布尔型只有两个取值:true
和 false
。
let a: bool = true;
let b: bool = false;
Rust 中的字符型使用单引号来表示。
let c1: char = 'A';
let c2: char = '中';
Rust 中的控制流语句有分支语句和循环语句,包括 if
、match
、while
、for
、loop
等。
Rust 中的 if
分支语句有三种形式:if
、if...else
和 if...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();
}