rust基礎

cargo項目管理工具

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來從新綁定爲可變綁定

Rust內置原生類型

  • 布爾類型:有兩個值truefalse
  • 字符類型:表示單個Unicode字符,存儲爲4個字節。
  • 數值類型:分爲有符號整數 (i8i16i32i64isize)、 無符號整數 (u8u16u32u64,usize) 以及浮點數 (f32f64)。
  • 字符串類型:最底層的是不定長類型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工具

相關文章
相關標籤/搜索