rust学习笔记(2)
類型
有符號整數(signed integers):i8、i16、i32、i64、i128 和 isize(指針寬度)
無符號整數(unsigned integers): u8、u16、u32、u64、u128 和 usize(指針寬度)
浮點數(floating point): f32、f64
char(字符):單個 Unicode 字符,如 'a','α' 和 '∞'(每個都是 4 字節)
bool(布爾型):只能是 true 或 false
單元類型(unit type):()。其唯一可能的值就是 () 這個空元組
- 類型不可改變
- 類型可能根據上下文內容推導出來
數字類型
可以在數字中添加下劃線, 例如 1_000
元組
使用 () 來表示元組, 使用 tuple.0 來訪問第一個下標位置
- 元組內部的元素的類型可以不一致, 元組可以嵌套
可以使用解構語法
// 元組可以被解構(deconstruct),從而將值綁定給變量
let tuple = (1, "hello", 4.5, true);
數組
存放的是相同的數據類型, 并且在內存中是連續的
數組的類型標記為 [T; length](譯注:T 為元素類型,length 表示數組大小)。
// 定長數組(類型標記是多余的)
let xs: [i32; 5] = [1, 2, 3, 4, 5];
// 所有元素可以初始化成相同的值
let ys: [i32; 500] = [0; 500];
使用
arr[1..2]實現數組的切片
自定義類型
struct: 定義一個結構體(structure)
enum: 定義一個枚舉類型(enumeration)
struct
// 元組結構體
struct Pair(i32, f32);
給自己預先設定的元組一個名字, 同時, 一個有名字的元組的結構需要使用 let Pair(integer, decimal) = pair; 實現
- 結構體支持組合
let _rectangle = Rectangle {
// 結構體的實例化也是一個表達式
top_left: Point { x: left_edge, y: top_edge },
bottom_right: bottom_right,
};
實例化一個結構體
enum
枚舉類型的自定義對象可以通過 :: 來獲取(可以攜帶參數等)
別名
別名使用 type Operations = VeryVerboseEnumOfThingsToDoWithNumbers; 創建
// 創建一個 `enum`(枚舉)來對 web 事件分類。注意變量名和類型共同指定了 `enum`
// 取值的種類:`PageLoad` 不等于 `PageUnload`,`KeyPress(char)` 不等于
// `Paste(String)`。各個取值不同,互相獨立。
enum WebEvent {
// 一個 `enum` 可以是單元結構體(稱為 `unit-like` 或 `unit`),
PageLoad,
PageUnload,
// 或者一個元組結構體,
KeyPress(char),
Paste(String),
// 或者一個普通的結構體。
Click { x: i64, y: i64 }
}
use
使用 use 方便開發的時候少寫一些內容
// 顯式地 `use` 各個名稱使他們直接可用,而不需要指定它們來自 `Status`。
use Status::{Poor, Rich};
// 自動地 `use` `Work` 內部的各個名稱。
use Work::*;
常量
// 全局變量是在所有其他作用域之外聲明的。
static LANGUAGE: &'static str = "Rust";
const THRESHOLD: i32 = 10;
總結
以上是生活随笔為你收集整理的rust学习笔记(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 捷波h61主板 怎么样 捷波h61主板的
- 下一篇: bios网卡怎么设置 设置bios网卡方