Rust
文章平均质量分 55
macrocan
这个作者很懒,什么都没留下…
展开
-
Rust Option/Result 实用方法
note: Option和Result同名api的作用相似,这里只罗列出Option的api。Optionmap函数只是帮助开发者少写一些match,常用于从Option取出值,传到闭包里面执行,map的返回值是也是一个Option,包的是闭包的返回值。pub fn map<U, F: FnOnce(T) -> U>(self, f: F) -> Option<U> { match self { Some(x) => Some(f(x)原创 2021-03-31 17:21:55 · 2151 阅读 · 0 评论 -
rust Iterator combinator
Iterator中文翻译是迭代器,顾名思义,迭代器肯定记录了当前的迭代位置。Iterator是我最喜欢的rust结构之一,因为它实现了很多方法,这些方法是可以相互组合的,大大减轻了开发者的工作量。pub trait Iterator { /// The type of the elements being iterated over. type Item; /// Advances the iterator and returns the next value. fn next(&m原创 2021-03-31 17:12:57 · 190 阅读 · 0 评论 -
Rust PIN思考
无栈协程有栈协程可以把任务的局部变量保存到栈上,模拟了线程的行为,用起来很自然;无栈协程需要把任务保存到线程栈或者堆里面,最好是放在堆里面。Futurepub trait Future { type Output; fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>;}从Pin的定义来看,Pin的作用是获取future的可变引用,不让修改原创 2021-03-28 10:15:18 · 497 阅读 · 0 评论