rust讀書筆記基礎1

rust名詞和cargo

  • rust中的名詞數組

    • 代碼包:crates
    • 原始標識符:沒理解
  • rust中宏和函數的區別?函數

    • rust的宏和函數調用時候形式的區別,宏帶!而函數調用不帶;
  • rust中的cargooop

    • cargo new 項目名:建立新的項目,項目名成小寫下劃線連接
    • cargo build:構建項目,生成編譯後的可執行文件,用於開發
    • cargo run:編譯和運行項目
    • cargo check:確保項目能夠編譯
    • cargo build --release:優化編譯項目,用於測試

rust中的基礎知識

變量

  • Rust 代碼中的函數和變量名使用 snake case 規範風格。
  • 變量默認不可變
  • 在變量前加上mut標識,標識可變變量
  • 變量和常量的區別,變量使用let修飾,常量使用const,而且不能使用mut修飾,常量不能是運行時計算出來的值
  • 隱藏:隱藏是屢次使用let修飾同一個名字的變量,後面的變量會覆蓋以前的變量;隱藏能夠改變以前變量的類型,mut則不能夠。(關注一下垃圾回收對覆蓋的處理)

基本類型

整型標量測試

長度 有符號 無符號
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
arch isize usize

其餘標量優化

長度 類型 描述
32-bit f32 單精度浮點型
64-bit f64 雙精度浮點型
32-bit char 字符型
8-bit bool 布爾型

複合類型ui

  • 元組:類型能夠不一樣,解構訪問或者點訪問
  • 數組:類型相,長度固定,棧上分配

函數

函數定義

//fn+函數名+(參數)+ -> + 返回值類型 + {函數體}
fn function_name (parameters) -> type_of_return {
   body;
}

函數簽名中,必須聲明每一個參數的類型;返回值能夠有多個,使用元組;code

函數調用

//函數名+() 
function_name ();

控制流

if和其餘的語言相似

循環:

loop + break
fn main() {
    let mut counter = 0;

    let result = loop {
        counter += 1;

        if counter == 10 {
            break counter * 2;
        }
    };

    assert_eq!(result, 20);
}
for
fn main() {
    let a = [10, 20, 30, 40, 50];

    for element in a.iter() {
        println!("the value is: {}", element);
    }
}
while
fn main() {
    let a = [10, 20, 30, 40, 50];
    let mut index = 0;

    while index < 5 {
        println!("the value is: {}", a[index]);

        index = index + 1;
    }
}
相關文章
相關標籤/搜索