并不是每个 Rust 中的概念都有系统编程或者计算机科学中的相关背景,所以我们增加一些可能是陌生术语的解释。元数元数是指函数或操作需要的参数个数。let x = (2, 3); let y = (4, 6); let z = (8, 2, 6);在上述例子中,x 和 y 的元数为2。 z 的元数是3。抽象语法树当编译器编译程序的时候,它会一下事情。其中一个就是将程序中的代码段组成抽象语法树,简称“AST”。
注意:内敛函数永远不具有稳定接口,所以最好直接使用libcore的稳定接口,而不是直接使用内敛函数。使用 rust-intrinsic ABI 可以使得内敛函数类似于外部函数接口方法一样去引入。比如,如果一段程序希望不依赖于上下文,同时又希望能够在不同类型见切换,然后高效的执行指针运算,那么这段代码可以通过如下的声明来引入这些方法。
Rust 以其安全性为重点,为不同的类型之间的转换提供了不同的方法。首先,as 用于数据类型安全转换 。相反,transmute 允许类型之间的任意转换,是 Rust 的最危险的特征!asas 关键字可以做基本的转换:let x: i32 = 5;let y = x as i64;然而,它只允许某些类型的转换:let a = [0u8, 0u8, 0u8, 0u8];let b = a as u32;
If let 允许你把 if 和 let 结合到一起,来减少某些类型的模式匹配所需的开销。例如,有某种 Option<T>。如果它是 Some<T>,我们希望在它上面调用一个函数,如果不是,则什么也不做。就像下面这样:match option {Some(x) => { foo(x) },None => {},}在这里我们不一定非要使用匹配,例如,我们可以使用 ifif option.is_some() {let x = option.