美文网首页
20240312近期rust学习笔记和代码3

20240312近期rust学习笔记和代码3

作者: 李荣强Justin | 来源:发表于2024-03-11 17:02 被阅读0次

公共枚举的变量都是默认公共的

Vector用的比较多,所以有预导入prelude机制,而hashmap用的比较少,不在prelude中

hashmap 堆内存,同构造

collect特定类型

hashmap/迭代

还是要多写代码,多写代码才能学好编程

panic! 打印错误信息,展开和清理调用栈,并中止执行,默认情况下,展开调用栈。(工作量大)

可以把默认展开改为中止

[profile.release] 生产环境

panice ="abort"

result 枚举:  Ok Err

use std::collections::HashMap;

fn main() {

    println!("Hello, world!");

    let s1 = String::from(" eth is good");

    let s2 = String::from(" eth will up to 10000");

    println!("{}{}", s1, s2);

    let s3 = s1 + &s2;

    println!("{}", s3);

    println!("{}", s2);

    //println!("{}", s1);

    let s4 = String::from(" realms is good");

    let s5 = String::from(" realms will up to 10000");

    let s = format!("{}--{}", s4, s5);

    println!("{}", s);

    let  tokens:Vec<String> = vec![String::from("BTC"),String::from("ETH"),String::from("APX")];

    let  amounts:Vec<f64> = vec![0.0012,1200000.345,167098.1];

    let holdings: HashMap<&String,&f64> = tokens.iter().zip(amounts.iter()).collect();

    println!("{:?}",holdings);

    let mut another_hold = HashMap::new();//必须为mut关键词修饰的,不然不能插入

    another_hold.insert(String::from("SSV"),12345.67);

    println!("{:?}",another_hold);//{:?} 完整输出

    let mut layer2_tvl:HashMap<String,f64> = HashMap::new();

    layer2_tvl.insert(String::from("ARB"),30.15);

    layer2_tvl.insert(String::from("OP"),20.14);//

    layer2_tvl.insert(String::from("OP"),18.14);//同样的key 会覆盖原来的value

    let op_tvl = layer2_tvl.get("OP");

    match op_tvl {

        Some(tvl) => println!("OP TVL is {}",tvl),

        None => println!("OP TVL is not found"),

    }

    layer2_tvl.entry(String::from("STARK")).or_insert(3.105);

    for (layer2,tvl) in &layer2_tvl {

        println!("{}:{}",layer2,tvl);

    }

    let v1 = vec![1,2,3];

    println!("{}",&v1[5]);

    panic!("crash and burn");

    layer2_tvl.entry(String::from("STARK")).or_insert(13.105);

    let stark_tvl = layer2_tvl.get("STARK");

    match stark_tvl {

        Some(tvl) => println!("STARK TVL is {}",tvl),

        None => println!("STARK TVL is not found"),

    }

}

相关文章

  • Rust学习笔记(3)

    内容整理自:https://doc.rust-lang.org/book/title-page.html Chap...

  • 二零一七年二月

    技术 Rust 中文WikiRust PlaygroundRust学习资源和路线Rust in Detail: W...

  • rust学习笔记

    Cargo:Rust 的构建工具和包管理器 您在安装 Rustup 时,也会安装 Rust 构建工具和包管理器的最...

  • 异步代码的几种写法 | Rust学习笔记

    作者:谢敬伟,江湖人称“刀哥”,20年IT老兵,数据通信网络专家,电信网络架构师,目前任Netwarps开发总监。...

  • C++学习笔记 day3

    C++学习笔记 day3 03 运算符 笔记&代码 #include using namespace std; /...

  • vs code 配置rust开发环境

    实现的需求: 查看宏定义,代码补全, 安装这三个插件: Rust,Rust Test Lens,rust-anal...

  • 2.Rust新手教程-数据类型

    学习笔记,仅此而已 Rust是静态编译语言,在编译时必须知道所有变量的类型,其中Rust内部有2套机制 基于定义的...

  • WebAssembly 时代,Rust 也想成为 Web 语言

    目前 Mozilla 正在基于 WebAssembly 可移植代码格式研发JavaScript 和 Rust 之间...

  • Template Method 模板方法模式

    设计原则学习笔记 设计模式学习笔记 作用 将可变的和不可变的代码分离,可变的代码由子类实现,不可变代码由父类实现...

  • 20180313🐸

    1、工行股权沟通 2、学习3项技术:OF、印象笔记、心率测量仪 3、写近期时间管理践行总结

网友评论

      本文标题:20240312近期rust学习笔记和代码3

      本文链接:https://www.haomeiwen.com/subject/jtwmzdtx.html