-
走进 Rust:Drop trait
实现 Drop 实现Drop trait用于手动清理某个值,例如锁。 struct CustomSmartPointer { data: String,
2020-08-25,阅读:1175,标签:Rust
-
走进 Rust:迭代器
遍历求和 iter()获取迭代器,sum()求和。 #[test] fn iterator_sum() { let v1 = vec![1, 2, 3]
2020-08-06,阅读:937,标签:Rust
-
走进 Rust:闭包
定义 |num|中的num是传入参数,多个参数可以是|param1, param2|。大括号}前一行num是闭包的返回值。let expensive_closu
2020-07-24,阅读:1664,标签:Rust
-
走进 Rust:引用的生命周期
定义 借用检查器borrow checker会比较作用域来确保所有的引用都是有效的。 x的引用的生命周期是'b,即r = &x;后引用就被回收了,而r指
2020-07-23,阅读:1046,标签:Rust
-
走进 Rust:trait
注意 trait类似Java中的接口interface。 定义trait pub trait Summary { fn summarize(&s
2020-07-22,阅读:1600,标签:Rust
-
走进 Rust:泛型
函数中使用泛型 fn test<T>(t: T) -> T{ t } 结构体中使用泛型 单个参数 struct Point<T&
2020-07-20,阅读:1434,标签:Rust
-
走进 Rust:异常处理
抛出异常 使用panic!宏抛出异常。 fn main() { panic!("crash and burn"); } 处理异常 使用Result枚举处
2020-07-17,阅读:1188,标签:Rust
-
走进 Rust:HashMap 集合
新建 通过宏新建一个HashMap对象。 let teams = vec![String::from("Blue"), String::from("Yello
2020-07-16,阅读:2358,标签:Rust
-
走进 Rust:Vector 集合
Vector let v: Vec<i32> = Vec::new(); let v = vec![1, 2, 3, 4, 5]; 添加元素 let
2020-07-15,阅读:991,标签:Rust
-
走进 Rust:Crate、模板
Crate src/main.rs 构建成二进制 src/lib.rs 构建成依赖包 Module Rust中的items(函数、方法、结构体、枚举、模块和常量
2020-07-14,阅读:1624,标签:Rust
-
走进 Rust:枚举
定义枚举 #[derive(Debug)] enum IpAddrKind { V4, V6, } 使用枚举 枚举同样可以使用impl来实现结构
2020-07-13,阅读:1390,标签:Rust
-
走进 Rust:结构体方法
方法语法 方法与函数相似:它们使用fn关键字及其名称进行声明,可以具有参数和返回值,并且包含一些在其他地方调用时运行的代码。但是,方法与函数的不同之处在于,它们
2020-07-10,阅读:1243,标签:Rust
-
走进 Rust:打印结构体字段
定义结构体 struct Rectangle { width: u32, height: u32, } 打印结构体 使用{}打印会报错。 fn
2020-07-09,阅读:4110,标签:Rust
-
走进 Rust:结构体
定义和实例化结构体 结构体和元组类似。像元组一样,结构体的各个部分可以是不同的类型。与元组不同,你将为每个数据命名,以便清楚地知道这些值的含义。由于使用了这些名
2020-07-08,阅读:1455,标签:Rust
-
走进 Rust:切片
切片 另一种没有所有权的数据类型是切片。切片使你可以引用集合中连续的元素序列,而不是整个集合。 这是一个小的编程问题:编写一个函数,该函数需要一个字符串并返回在
2020-07-07,阅读:2185,标签:Rust
-
走进 Rust:参考和借阅
参考和借阅 上一节元组代码的问题在于,我们必须将String返回给调用函数,因此,在调用calculate_length之后,我们仍然可以使用String,因为
2020-07-07,阅读:1331,标签:Rust
-
走进 Rust:所有权
所有权 Rust的主要功能是所有权。尽管该功能易于解释,但对其余语言有深远的影响。 所有程序必须在运行时管理它们使用的计算机内存。某些语言具有垃圾回收功能,该垃
2020-07-06,阅读:1127,标签:Rust
-
走进 Rust:流程控制
if if的条件必须是bool类型。 fn main() { let number = 3; if number < 5 {
2020-07-03,阅读:1222,标签:Rust
-
走进 Rust:函数
命名规范 使用蛇形命名法snake case(所有单词小写,使用_下划线分隔)命名函数名称。 fn main() { another_function(
2020-07-02,阅读:1336,标签:Rust
-
走进Rust:数据类型
Scalar Types 标量类型。Rust有4个主要的标量类型:integers(整数类型)、floating-point numbers(浮点数类型)、Bo
2020-06-30,阅读:1357,标签:Rust