cargo是rust
的代碼組織管理工具,cargo
提供了一系列的工具,從項目的創建、構建到測試、運行直至部署,爲rust
項目的管理提供儘量完整的手段,同時,與rust
語言及其編譯器rustc
自己的各類特性緊密結合。(摘自RustPrimer)html
新建學習基礎項目java
cargo new first --bin
新建一個名爲first的rust 項目,--bin表示就會生成可執行文件數組
此時cargo會自動爲咱們生成必須的文件。安全
在rust中定義變量稱之爲變量綁定,有些相似於java等的定義變量,語法以下:函數
let m=5;// let n:i32=5;//m和n值相等,整數默認爲i32類型 assert_eq!(m,n);//判斷m、n是否相等 let mut x=10;//x稱爲可變綁定,上面的m、n成爲不可變綁定(相似於Java中的final定義常量) //m=6;//此時會出錯,由於m是不可變綁定,此時可用let mut m=8來從新綁定爲可變綁定
true
和false
。i8
, i16
, i32
, i64
, isize
)、 無符號整數 (u8
, u16
, u32
, u64
,usize
) 以及浮點數 (f32
, f64
)。str
,更經常使用的是字符串切片&str
和堆分配字符串String
, 其中字符串切片是靜態分配的,有固定的大小,而且不可變,而堆分配字符串是可變的。[T; N]
。&[T]
。*const T
和*mut T
,但解引用它們是不安全的,必須放到unsafe
塊裏。()
,其惟一的值也是()
。fn main() { let m=5; let n:i32=5; assert_eq!(m,n); println!("Welcome to rust-lang"); //boolean type let t=true; let f:bool=false; //char type let c='c'; //numeric types let x=42; let y:u32=123_456;//無符號32位整數 let z:f64=1.23e+2;//浮點數 let zero=z.abs_sub(123.4); let bin=0b1111_0000;//二進制 let oct=0o7320_1546;//十進制 let hex=0xf23a_b049;//16進制 //arrays and slices let a=[0,1,2,3,4]; let middle=&a[1..4];//數組切片,引用數組的一部分,且不須要複製 let mut ten_zeros:[i64;10]=[0,10]; //注意:使用&符號將String類型轉換成&str類型很廉價, 可是使用to_string()方法將&str //轉換到String類型涉及到分配內存, 除非頗有必要不然不要這麼作。 }
參考:https://rust-china.org/rust-primer/latest/quickstart/primitive-type.html工具