vec
类似于java类型的List和golang的切片
创建方法
俩种方法一种是Vec::new,一种是vec!宏
1 | let v: Vec<i32> = Vec::new(); |
更新
vec.push(v);
get
索引访问和match访问,索引访问会出现数组越界的painc,而match返回值是Option,因为有None的存在所以不会出现数组月觉的patinc
1 | println!("out of index 100 {}",v[100]);//panicked at 'index out of bounds: the len is 4 but the index is 100' |
遍历
1 | //遍历vector,第一次遍历用可变应用可以修改里面的值 |
String
rust在处理字符串时候常用&str和String俩种类型,其中&str是字符串字面值,String是标准库提供的
常用函数/宏
- String::from将str构造成String
- format!通过占位符”{}”,格式化
- String实际上是char类型的数组,所以可以采用切片方式访问即:&s4[0..4],
1 | let s="hello";//这是&str类型 |
HashMap
创建方法
1 | let mut hash_map = HashMap::new(); |
更新
insert
1 | hash_map.insert("blue", 1); |
get
get
1 | match hash_map.get("yellow") { |
遍历
1 | for (k,v) in hash_map{ |