前言
随着 Rust 在前端领域的使用越来越广,作为前端工程师有必要学习 Rust 这门语言了
变量赋值
rust
// 不可变
let foo: i32 = 1;
// 可变
let mut bar: i32 = 1;
基础数据类型
整数
长度 | 有符号 | 无符号 |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
128-bit | i128 | u128 |
arch | isize | usize |
浮点数
rust
// f32
let foo: f32 = 1.32;
// f64
let bar: f64 = 1.64;
布尔值
rust
// bool
let foo = true;
let bar = false;
字符
rust
// char
let char = 'a';
复合数据类型
字符串和切片
rust
// String
let hello = String::from("Hello");
// slice
let a = &hello[1..5];
数组
rust
// 长度固定
let arr: [i32; 5] = [1, 2, 3, 4, 5];
元组
rust
// tuple
let tup: (i32, &str, f64) = (1, "a", 3.2);
枚举
rust
enum Direction {
Up,
Down,
Left,
Right,
}
结构体
rust
// struct
struct User {
name: String,
age: i32,
}
let user = User {
name: String::from("mike"),
age: 24,
};
集合类型
向量
rust
// 长度可变
let vec: Vec<i32> = vec![1, 2, 3, 4, 5];
哈希表
rust
use std::collections::HashMap;
// HashMap
let mut map: HashMap<&str, &str> = HashMap::new();
map.insert("foo", "bar");
模式匹配
rust
let dir = Direction::Right;
match dir {
Direction::Down => println!("down"),
Direction::Left => println!("left"),
_ => println!("other"),
}
分支语句
rust
let a = 60;
if a > 50 {
println!("大于 50");
} else if a < 50 {
println!("小于 50");
} else {
println!("等于 50");
}
循环语句
loop
for
while
rust
let mut a = 100;
while a > 0 {
a -= 1;
}
for v in 0..10 {
println!("{}", v);
}
loop {
println!("loop")
}
函数
rust
fn hello(name: &str) {
println!("Hello, {}", name);
}
fn main() {
hello("John");
}
闭包
rust
let add_one = |x: u32| -> u32 { x + 1 };
模块
rust
mod my_mod {
pub fn hello() {
println!("Hello");
}
}
use my_mod::hello;
fn main() {
hello()
}
本文完,感谢阅读