随笔分类 - Rust
Rust学习记录
Rust 元組匹配的一個妙用
摘要:Rust 元組匹配的一個妙用 原文:https://nathanael-morris-bennett.medium.com/rust-tuple-pattern-matching-trick-c0f6bcdb4460 PS:原文的示例代碼中有幾處語法錯誤,本文對其進行了修正,並且示例代碼也有所不同。
阅读全文
Rust 生命週期
摘要:生命周期 为何需要有生命周期 先看一个例子:我们要求有一个函数,这个函数能够返回两个字符串中比较长的哪一个,比如下面的代码就要求输出 abcdefg。 fn main() { let x: String = String::from("abcdefg"); let y: String = Strin
阅读全文
Rust Trist
摘要:Trait Trait 是什麼東西 Trait 中定義了一組方法,類似於其他語言當中的接口,但是不同於其他語言中的接口(後面會展開)。因爲其內部是一組方法,因此 Trait 所定義的是一種公共行爲。比如所有男生被要求上公廁的時候只能進男廁所,所有運動員被要求不允許毆打裁判……也就是讓一些不同的類型卻
阅读全文
Rust 基础(06) 泛型
摘要:泛型 什么是泛型,泛型的作用,泛型的优势等本文不做介绍,本文只将泛型在 Rust 当中的使用方法. 泛型方法 一个比较两个数大小的并返回其中较大的一个数: fn larget<T: std::cmp::PartialOrd>(a: T, b: T) -> T { if a >= b { a } el
阅读全文
Rust基础(05) 类型转换
摘要:类型转换 as 语法: let a =b as type 举例: let a = 8i32 as u32 整形之间 位数相同的整形之间(如 i32->u32): no-op(二进制值完全不变,只改变数据类型) 高位转低位(i32->u8): 截断 低位转高位(i8->u32): 原类型为无符号: 补
阅读全文
Rust 基础(04) 枚举
摘要:枚舉 定義 通过 enum 声明关键字,并且在里面定义各个枚举的变体(具体枚举值),而每个枚举值可以绑定数据。比如 周五(Fri 就绑定了一个 String 类型的数据),除了 String 枚举的变体可以绑定任何类型的数据,甚至是结构体和其他的枚举(不能包含自己)。 enum Week { Mon
阅读全文
Rust 基礎(03) 結構體
摘要:結構體 聲明 Rust 通過struct聲明一個結構體,內部使用字段名: 數據類型,的格式定義字段。 struct Gire { Name: String, Email: String, Tel: String, } 使用 初始化的時候需要對結構體中的每一個字段都進行初始化(Rust 不會將未初始化
阅读全文
Rust 基礎(02) 所有權
摘要:所有權 什麼是所有權 Rust的一套內存管理規則。 這套規則是什麼 每一個值都有一個變量作爲他的所有者 一個值在任何時間都只有一個所有者 值的所有者離開作用域之後會被銷燬 作用域 與其他語言的作用域相同,只要還能調用這個變量,那麼他就依舊處於作用域內。 轉移 當把一個變量直接賦值給另一個變量的時候所
阅读全文
Rust基础(01) 通用编程概念
摘要:本文面向有一定编程基础的同学 Rust 中的基本数据类型 标量 Rust 基本数据类型(标量)大的来说分为整型,浮点型,字符型,布尔型。 整型中分为按照是否有符号位分为有符号整型和无符号整型,按位数分为8位,16位,32位,64位。两者结合产生8种整型数据类型,及有符号的:i8, i16, i32,
阅读全文