随笔分类 -  Rust

1 2 3 4 5 ··· 13 下一页
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://fasterthanli.me/articles/recursive-iterators-rust 目标 对于递归类型的结构,实现递归迭代。 自定义类型 struct Node<T> { values: 阅读全文
posted @ 2022-08-29 18:01 波尔 阅读(249) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 接前一节,在迭代的过程中,修改每个迭代的元素。 自定义类型 #[derive(Debug)] struct MyData< 阅读全文
posted @ 2022-08-29 17:59 波尔 阅读(70) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 接前一节,在迭代的过程中,修改每个迭代的元素。 自定义类型 #[derive(Debug)] struct MyData< 阅读全文
posted @ 2022-08-29 17:57 波尔 阅读(25) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 接前一节,之前迭代都是直接拿走所有权,有时候只需要借用而不需要所有权。 自定义类型 #[derive(Debug)] st 阅读全文
posted @ 2022-08-29 17:55 波尔 阅读(22) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 接前一节,理解 Iterator 自动实现了 IntoIterator。 自定义类型 struct MyData<T: D 阅读全文
posted @ 2022-08-29 17:54 波尔 阅读(35) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/trait.IntoIterator.html 目标 接前一节,实现结构体中的元素是泛型的迭代器。 自定义类型 struct MyData<T: De 阅读全文
posted @ 2022-08-29 17:53 波尔 阅读(25) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/trait.IntoIterator.html 目标 接前一节,实现结构体中的元素是泛型的迭代器。 自定义类型 struct MyData<T: De 阅读全文
posted @ 2022-08-29 17:52 波尔 阅读(26) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/trait.IntoIterator.html 目标 接前一节,实现结构体中的元素不是 Copy 的迭代器。 自定义类型 struct MyData 阅读全文
posted @ 2022-08-29 17:51 波尔 阅读(36) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/trait.IntoIterator.html 目标 前一节自定义了一个类型来实现迭代器,并且自定义了一个方法来转化成迭代器。标准库中提供了一个转化成 阅读全文
posted @ 2022-08-29 17:49 波尔 阅读(228) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-21 Rust 1.61.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 有时候自定义的 struct 较复杂,需要单独创建另一个结构体来实现迭代器。 自定义类型 struct MyData { 阅读全文
posted @ 2022-08-29 17:41 波尔 阅读(39) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-19 Rust 1.60.0 前言 说明 参考:https://doc.rust-lang.org/std/iter/index.html 目标 针对自定义类型,实现一个迭代器。 自定义类型 #[derive(Default, Debug)] struct Count 阅读全文
posted @ 2022-08-29 17:39 波尔 阅读(69) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-05-04 Rust 1.60.0 前言 说明 默认情况下,Rust 只能有一个可变引用和多个不可变引用,而 RefCell 可以实现内部可变。 目标 内部可变 RefCell 的方法练习。 new fn main() { let cell = RefCell::new(4 阅读全文
posted @ 2022-08-29 17:11 波尔 阅读(82) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-25 Rust 1.59.0 示例 get_or_insert_with fn main() { let mut name = Some("JiangBo"); println!("{:?}", name.get_or_insert_with(|| "Rust")); 阅读全文
posted @ 2022-06-28 23:32 波尔 阅读(46) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-25 Rust 1.59.0 示例 iter_mut fn main() { let mut name = Some("JiangBo".to_owned()); println!("{:?}", name.iter_mut().next()); } and fn m 阅读全文
posted @ 2022-06-28 23:30 波尔 阅读(36) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-25 Rust 1.59.0 示例 unwrap_unchecked fn main() { let name = Some("JiangBo"); println!("{:?}", unsafe { name.unwrap_unchecked() }); } map 阅读全文
posted @ 2022-06-28 23:28 波尔 阅读(35) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-25 Rust 1.59.0 示例 is_some fn main() { let name = Some("JiangBo"); println!("{:?}", name.is_some()); } is_none fn main() { let name = S 阅读全文
posted @ 2022-06-28 23:27 波尔 阅读(64) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-24 Rust 1.59.0 示例 get_mut fn main() { let mut map = HashMap::from([("a", 1), ("b", 2), ("c", 3)]); if let Some(v) = map.get_mut("c") { 阅读全文
posted @ 2022-05-29 08:03 波尔 阅读(99) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-24 Rust 1.59.0 示例 hasher fn main() { let hasher = RandomState::new(); let map: HashMap<i32, i32> = HashMap::with_hasher(hasher); print 阅读全文
posted @ 2022-05-29 08:00 波尔 阅读(43) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-24 Rust 1.59.0 示例 into_values fn main() { let map = HashMap::from([("a", 1), ("b", 2), ("c", 3)]); map.into_values().for_each(|e| prin 阅读全文
posted @ 2022-05-29 07:58 波尔 阅读(39) 评论(0) 推荐(0) 编辑
摘要:环境 Time 2022-03-24 Rust 1.59.0 示例 new fn main() { let map: HashMap<&str, i32> = HashMap::new(); println!("{:?}", map.capacity()); } with_capacity fn m 阅读全文
posted @ 2022-05-29 07:55 波尔 阅读(74) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 13 下一页