先給出個例子:
fn main() \n{}\n{}\n{}\n{}", slice0, slice1, slice2, slice3, slice4);
}
輸出結果:
hello
hello
world !
world !
hello world !
切片的區間是左閉右開,而且切片是引用型別的,這相當於位址的乙個範圍,所以我們使用&s
的方式來表示。
字串相當於乙個切片,比如:
let s = "hello world !";
s
相當於乙個&s[..]
的型別。
切片預設是不可變的。一般來說處理字串的函式,可以寫成切片的型別,rust中用&str
表示切片型別,比如:
fn main() ", foo(s, 1, 8));
let s2 = string::from("i am cat, not a cat !");
println!("{}", foo(&s2, 0, 10));
}fn foo(s: &str, start: usize, end: usize) -> &str
陣列也可以進行切片操作,**例項:
fn main() ", num);
}}
Rust學習筆記2 3 2 復合型別
復合型別可以將多個值組合成乙個型別。rust有兩個原生的復合型別 元組 tuple 和陣列 array 元組是乙個將多個其他型別的值組合進乙個復合型別的主要方式。元組長度固定 一旦宣告,其長度不會增大或縮小。我們使用包含在圓括號中的逗號分隔的值列表來建立乙個元組。元組中的每乙個位置都有乙個型別,而且...
投稿 刀哥 Rust學習筆記 4
toc rust 學習心得 4 async await 如何工作 2019年底rust正式支援 async await語法,完成了rust協程的最後一塊拼圖,從而非同步 可以用一種類似於go的簡潔方式來書寫。然而對於程式設計師來講,還是很有必要理解async await的實現原理。簡單地說,asyn...
rust筆記6 列舉型別
rust的列舉型別相對於c 來說,有更強大的表現能力,先給出最基本的定義方式 enum ip fn main 列舉型別可以有不同的資料型別,並儲存對應的資料,給出 例項 enum ip fn main 列舉型別可以有自己的impl塊,例項 enum message write string chan...