5.9 引用和借用
本节是Rust三处描述所有权系统的其中之一.所有权是Rust最独特和引人注目的特性,这也是Rust程序员必须熟悉的一个特性.所有权使Rust得以实现它最大的设计目标,内存安全.这里有一些不同的概念,每一个都有自己的章节:
所有权,你正在读的借用(borrowing, 5.9), 以及它的关联特性'引用'生命期(5.10),以及borrowing的高级特性...
分类:
其他好文 时间:
2015-07-19 10:16:39
阅读次数:
141
5.10 生命期
本节是Rust三处描述所有权系统的其中之一.所有权是Rust最独特和引人注目的特性,这也是Rust程序员必须熟悉的一个特性.所有权使Rust得以实现它最大的设计目标,内存安全.这里有一些不同的概念,每一个都有自己的章节:
所有权,你正在读的借用(borrowing, 5.9), 以及它的关联特性'引用'生命期(5.10),以及borrowing的高级特性
这...
分类:
其他好文 时间:
2015-07-19 10:13:35
阅读次数:
120
5.8 所有权
本节是Rust三处描述所有权系统的其中之一.所有权是Rust最独特和引人注目的特性,这也是Rust程序员必须熟悉的一个特性.所有权使Rust得以实现它最大的设计目标,内存安全.这里有一些不同的概念,每一个都有自己的章节:
所有权,你正在读的借用(borrowing, 5.9), 以及它的关联特性'引用'声明期(5.10),以及borrowing的高级特性
这三...
分类:
其他好文 时间:
2015-07-16 17:00:17
阅读次数:
285
5.5 if
Rust 对if的操作并不复杂,但是你会发现它更像一个动态类型语言,而不是一个传统的系统语言.让我们看看你是否知道这其中的微妙之处.
if是一个非常常见的概念的一个特定表述,"分支".这个名字来自于树的分支:一个决策点,多条路径可供选择.
在if的分支,是两条路的一种选择:
let x = 5;
if x == 5 {
println!("...
分类:
其他好文 时间:
2015-07-16 14:06:18
阅读次数:
115
本文翻译自ReadWrite.com上刊登的Matt Asay的一篇文章,Rust Never Sleeps: How Mozilla Could Become Cool Again,副标题是“Mozilla has almost faded from memory, but Rust could make it hip again”。...
分类:
其他好文 时间:
2015-07-14 20:30:29
阅读次数:
177
4.9 Borrow 和 AsRef
Borrow和AsRef特性特性很相似,但是不一样.这里有一个快速的关于两者的回顾.
4.9.1 Borrow
Borrow特性是当你写了一个数据结构,然后你想让一个它的所有者或者借用者类型作为同义词对象来使用.
例如,HashMap就有一个get方法使用了Borrow:
fn get(&self, k: &Q) ...
分类:
其他好文 时间:
2015-07-13 16:05:01
阅读次数:
138
4.7 错误处理
有时候程序会发生错误.对于不可避免的事情发生时最好有一个计划来处理.Rust有丰富的处理错误的方法.
你的程序会出现两种类型的错误:失败和崩溃.我们先讨论两者的区别,然后讨论如何处理他们.然后,我们讨论把错误升级为崩溃.
Page 107
4.7.1 失败和崩溃
Rust使用两种错误的类型:失败和崩溃.失败是一种可以被挽回的错误.崩溃...
分类:
其他好文 时间:
2015-07-11 18:34:13
阅读次数:
146
Page 100
并发和并行在计算机科学中是非常重要的主题.在工业领域也很火.计算机如今有越来越多的核心,然而很多程序员还没有准备好使用它们.
Rust安全的内存特性同样适用于并发存储.并发的Rust代码也是内存安全的,没有数据竞争.Rust的类型系统会保证这一点,给你提供了有利的帮助在编译时实现并发代码.
在我们开始讨论Rust的并发之前,我们需要理解一个很重要的事...
分类:
其他好文 时间:
2015-07-11 16:48:20
阅读次数:
145
我们来讨论一下迭代器.
还记得Rust的for循环么?有一个例子:
for x in 0..10 {
println!("{}", x);
}
现在你更了解Rust了,我们可以讨论它的工作细节了.区间(Ranges)(0..10)就是迭代器.一个迭代器可以重复的调用.next()方法,然后给我们返回一个序列.
像这样:
let mut range = 0..1...
分类:
其他好文 时间:
2015-07-11 13:42:36
阅读次数:
189
文档对于任何代码来说都很重要,对于Rust来说是头等重要.我们来讨论一下Rust使用文档的工具.
关于rustdoc
Rust发行版包含一个工具,rustdoc,它可以生成文档.rustdoc也可以被Cargo使用,通过cargo doc命令.
文档可以通过2中方式生成:源码,独立的Markdown文件.
Page 85
从源码生成文档
...
分类:
其他好文 时间:
2015-07-10 15:26:34
阅读次数:
201