跳至主要內容

Rust

LiCheng大约 2 分钟

Rust

镜像源🍊

描述🍑

  • 无聊又去学一门新语言怎么样。
  • 与其他语言不同的是,rust的语法相当的陌生。

介绍🐯

基本语法👏

变量👻

fn main() {
    let x = 5; // 普通变量,不可变的,加上 mut 为可变 let mut x = 5;
    const NUMBER: i16 = 5; // 常量
    let y: f32 = 3.0; // f32
    println!("{x}");
    println!("{NUMBER}");
    println!("{y}")
}

流程控制💔

fn main() {
    let number = 3;

    if number < 5 {
        println!("true");
    } else if number < 10  {
        println!("10");
    }else {
        println!("false");
    }
}

三元表达式💔


fn main() {
    let condition = true;
    let number = if condition { 5 } else { 6 };
    println!("The value of number is: {number}");
}

列表🍅

/// 列表
fn list(){
    println!("list-----------------------------------------------");
    // 列表
    let mut v: Vec<i32> = Vec::new();
    v.push(1);
    v.push(2); //增加
    v.remove(1);//删除
    v.insert(v.len(),3);
    println!("获取: {:?},长度: {:?},列表: {:?}", v.get(0),v.len(),v);
}

Map🐷

fn map() {
    // map
    println!("\nmap-----------------------------------------------");
    let mut map = HashMap::new();
    map.insert("Blue".to_string(), 10);//插入
    map.insert("Yellow".to_string(), 50);//插入
    map.insert("Blue".to_string(), 30);//替换
    map.remove("Yellow");
    println!("获取: {:?},map: {:?}", map.get(&String::from("Blue")), map);
}

开源库🍇

跨平台桌面框架🐔

前端框架💢

后端框架✋

WebSocket💞

关键字👻

unwrap😎

  • 官方描述
match 能够胜任它的工作,不过它可能有点冗长并且不总是能很好的表明其意图。Result<T, E> 类型定义了很多辅助方法来处理各种情况。其中之一叫做 unwrap,
它的实现就类似于示例 9-4 中的 match 语句。如果 Result 值是成员 Ok,unwrap 会返回 Ok 中的值。如果 Result 是成员 Err,unwrap 会为我们调用 panic!。
这里是一个实践 unwrap 的例子:
use std::fs::File;

fn main() {
    let f = File::open("hello.txt").unwrap();
}

结尾👏