Skip to main content

6 posts tagged with "rust"

View All Tags

wKevin

将 rust 标准库中的几个常用类型的方法安装第一个入参(即:Move、借用、可变借用)分组整理,以便开发时做个参考。

Type(..)(self..)(&self..)(&mut self..)
Cowfrom()into_owned()to_mut()
Cellfrom()
from_mut()
new()
into_inner()set()
get()
take()
replace()
get_mut()
RefCellfrom()
new()
into_inner()borrow()
borrow_mut()
take()
replace()
get_mut()
Vecfrom()
new()
with_capacity()
into_boxed_slice()len()
capacity()
is_empyt()
insert()
append()
push()
pop()
remove()
drain()
clear()
splice()
reserve()
resize()
shrink_to()
truncate()
BTreeMapfrom()
new()
into_keys()
range()
get()
len()
keys()
values()
iter()
get_key_value()
first_key_value()
last_key_value()
contains_key()
is_empyt()
insert()
append()
extend
retain()
remove()
pop_first()
pop_last()
entry()
first_entry()
last_entry()
HashMapfrom()
new()
keys()
into_keys()
capacity()
get()
len()
values()
iter()
is_empty()
insert()
extend
retain()
drain()
remove()
remove_entry()
reserve()
entry()
Boxfrom()
new()
leak()
pin()
downcast()
split()
borrow()borrow_mut()
consume()
read_line()

wKevin

std::borrow::Cow 是个枚举,包含 2 个变体(rust 中枚举的元素称为 Variant,变体)Borrowed、Owned,一般理解为代表对资源、数据的两种状态:借用、拥有所有权。

pub enum Cow<'a, B>
where
B: 'a + ToOwned + ?Sized,
{
Borrowed(&'a B),
Owned(<B as ToOwned>::Owned),
}

两种状态,比较难理解,其实是从使用用途来说的,具体到代码中后面会看到并不难理解。

wKevin
  • 官方的 4 本书,英文版在安装 rust 后可以 rustup doc 本地打开阅读,无需在线阅读。
  • Rust 中文翻译组(rust-lang-cn) 翻译了官方的 4 本,在线阅读托管在自己维护的 rustwiki 上。
  • RustCN 社区(rustlang-cn) 写了 4 本,其中创始人 Sunface 自己写了 2 本,同时他也是 Rust 语言周刊 的维护者。
  • 官方的 《程序设计语言》指定中文版并不是 Rust 中文翻译组的版本,而是 KaiserY 同学的。
Name官方Rust 翻译组RustCN个人
《The Rust Programming Language》
《Rust 程序设计语言》
github
在线阅读
github
在线阅读
KaiserY
github
在线阅读
《Rust by Example》
《通过例子学 Rust》
github
在线阅读
github
在线阅读
《The Rustonomicon》
《Rust 秘典(死灵书)》
github
在线阅读
github
在线阅读
《The Rust Language Reference》
《Rust 参考手册》
github
在线阅读
github
在线阅读
《Rust 语言圣经》Sunface
github
在线阅读
《Rust 语言实战》Sunface
github
在线阅读
《Rust 绣书》github
在线阅读
《Rust 算法题解》github
在线阅读