十分钟 Rust 入门

前言

随着 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()
}

本文完,感谢阅读

相关推荐
Java后端的Ai之路3 小时前
06-React-Props
前端·react.js·前端框架
滕州市燕猫虎计算机科技工作室个体工商户3 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
Flynt3 小时前
开源"间谍卫星"说数据全是真的,我把它的免key数据源挨个试了一遍
前端·开源·数据可视化
Csvn4 小时前
渲染管线
前端
程序员大阳4 小时前
副队长CSS教程(33)–圆角与透明
前端·css·透明·圆角
志尊宝4 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
鬼手点金5 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
柳杉5 小时前
借助 Codex 和可视化工作流,从调研到完整实现,3D 大屏竟然可以这么简单
前端·ai编程·数据可视化
IMPYLH5 小时前
HTML 的 <wbr> 元素
前端·html
Dovis(誓平步青云)5 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus