• IB-Rust-常见集合

    Codes in lesson13 Rust 中的常见集合有 Vector 和 HashMap Vector什么是 VecVec 是一个动态数组,可以根据需要动态增长和缩小,适用于需要按顺序存储数据的场景 Vec 的基本操作创建和初始化12let v: Vec<i32> = Vec::new();let v = vec![1, 2, 3]; 添加元素12// let mut v...
  • IB-Rust-模式匹配

    Codes in lesson12 概述模式匹配可以检查数据的结构并进行相应操作,提高代码的可读性和简洁性、减少错误,尤其是在处理复杂数据结构时 基础模式匹配match 表达式基本用法:match 语句可以用于模式匹配数字、字符串、枚举等 1234567let number = 13;match number { 1 => println!("One!&quo...
  • IB-Rust-结构体

    Codes in lesson11 普通结构体定义结构体 结构体的定义的位置没有要求,实例化的作用域在定义的范围内即可 大括号中,定义每一部分数据的名字和类型,称为字段(field) 123456struct User { active: bool, username: String, email: String, sign_in_count: u64,&...
  • IB-Rust-enum元组

    Codes in lesson10 不同语言 enum 对比typescript1234567enum Direction { North, East, South, West}let dir: Direction = Direction.North; c++123456789enum Direction { North, ...
  • IB-Rust-字符串

    Codes in lesson9 字符串的定义字符串是由字符组成的连续集合 Rust 中的字符是 Unicode 类型,因此每个字符占据 4 字节内存空间,但字符串是 UTF-8 编码,也就是字符串中的字符所占的字节数是变化的(1~4) 比如,对于“hello 中国”来说,utf8 编码为: 12h e l l o _ 中 国[104 101 1...
  • IB-Rust-数组与切片

    Codes in lesson8 数组介绍[T; N] 表示 N 个值的数组,每个值的类型为 T。数组的大小是在编译期就已确定的常量,并且是类型的一部分,不能追加新元素或缩小数组 任意一种类型的值 v,表达式 v.len() 会给出 v 中的元素数,v[i] 引用的是 v 的第 i 个元素(i 的类型必须是 usize)。Rust 会检查 i 是否在 0~v.len()-1 的范围内,如果没...
  • IB-Rust-引用

    Codes in lesson7 引用的分类 不可变引用(Immutable Reference) 可以读取数据,但不能修改 一个变量可以有多个不可变引用,但不能与可变引用共存 可变引用(Mutable Reference) 可以读取和修改数据 一个变量在某一时刻只能有一个可变引用,且不能与不可变引用共存 借用的规则 同一时间内,一个变量只能有一个可变引用或多个不可变引用 引用必须...
  • IB-Rust-所有权

    Codes in lesson6 内存回收Rust 的设计目的是确保内存安全并防止数据竞争,而不依赖垃圾回收器,这种内存安全性主要通过所有权(ownership)来实现 主流编程语言的内存回收机制: 静态语言 在编译时对变量类型进行检查和确认 C, C++, Rust 动态语言 在运行时进行类型检查和确认 Javascript, Python 特性 静态语言 动态语言 ...
  • IB-Rust-基础类型

    Codes in lesson5 整型根据数据大小和有无符号对整数进行分类: 大小 有符号 无符号 8位 i8 u8 16位 i16 u16 32位 i32 u32 64位 i64 u64 128位 i128 u128 视架构而定 isize usize 整型字面量可以用下表的形式书写 数字字面量 示例 十进制 98_222 十六进制 0x...
  • IB-Rust-流程控制

    Codes in lesson4 条件控制if 表达式Rust 不会自动将非布尔值转换为布尔值,必须显式使用布尔值作为 if 的条件 使用 else if 处理多重条件只会执行第一个条件为 true 的代码块 在 let 语句中使用 if声明的变量将会绑定到表示 if 表达式结果的值上 if 的每个分支可能的返回值必须是相同类型 代码块的值是其最后一个表达式的值,即不需要分号 循环Rus...
1238