1. 程式人生 > 其它 >Rust學習——基礎概念

Rust學習——基礎概念

變數:

  1. let 、let mut
  2. const

資料型別:

  1. 標量型別(scalar types)
    1. 整型
      1. 有符號和無符號代表數字能否為負值
      2. 有符號:-(2^(n-1)) ~ 2^(n-1) - 1
      3. 無符號:0 ~ 2^n - 1
      4. 長度型別為 arch 表示根據當前計算機架構位數,64位就是64位,32位就是32位
      5. 宣告整型預設型別是i32
    2. 浮點
      1. 宣告浮點數預設型別是 f64(因為精度比f32高)
      2. 採用IEEE-754 標準表示
    3. 布林
      1. bool
    4. 字元
      1. 用char宣告,使用單引號,字串使用雙引號
      2. char型別大小為4個位元組 4 * 8 = 32位
  2. 複合型別(compound types)
    1. 元祖(tuple)
      1. 將多個不同型別值組合進一個複合型別的方式
        2.元祖長度是固定的,不可變
      2. 元祖可以解構
      3. 支援用 .index 的方式訪問值
      4. 如果表示式不返回任何值,則會隱式返回單元值,即沒有任何值得元祖:()
    2. 陣列
      1. 陣列中的每個元素型別必須相同
      2. rust中陣列長度是固定的,不可變
      3. let a = [3; 2] === let a = [3, 3]
      4. let a: [i32; 5] = [1,2,3,4,5]
      5. 陣列越界rust會panic,直接告訴你,安全保障
        函式
    3. 函式變數命名遵循 snake case風格,所有字母都是小寫並用下劃線分割單詞。
    4. 函式引數
      1. 必須宣告每個引數型別
    5. 包含語句和表示式的函式體
      1. rust是一門基於表示式的語言
      2. 語句不返回值
      3. 表示式可以是語句的一部分
      4. {},也是一個表示式,可以用來運算
      5. 如果在表示式結尾加上分號,就變成了語句,語句不會返回值,所以要視情況而定
    6. 具有返回值的函式
      1. -> 宣告函式返回值型別
        註釋
        rust 中的註釋有兩種:
    7. // 雙斜槓註釋
    8. doc 註釋
      控制流
    9. if不用寫括號包裹條件(arms)
    10. 條件必須是bool值,無隱式轉換
    11. if可以在let中使用..
    12. 每個分支表示式返回值必須都是相同型別
    13. 迴圈有三種:loop、while、for
      1. loop
        1. 使用break停止迴圈
        2. 使用continue跳出本次迴圈
        3. 若存在巢狀迴圈,break、continue應用於就近的內層迴圈
        4. 可以選擇在迴圈上指定“迴圈標籤”,即給迴圈命名,這樣可以使用break、continune顯示操作迴圈迭代,如 break 'xxxx_loop';
        5. 迴圈可以返回值,通過在break表示式後加入表示式,如 break count * 2;
      2. while
      3. for
        1. 在陣列越界這種場景時,可以考慮用for替代while
        2. 通過 for ele in list.iter() {} 迭代list
        3. 通過 for num in (1..4).rev() {} 反轉輸出4321
學習是一條令人時而喜極若狂、時而鬱鬱寡歡的道路。