提交 335cc91f 编写于 作者: Hurry_upp's avatar Hurry_upp

删除 day2_7月3号学习记录

上级 631722bc
1 学习目标
1.1 把Rust语法用例子全部练习一遍
2 学习笔记
2.1 Vec
Vec常用作动态数组,特点可变长、数据类型相同的一个集合
新建方式:1 let mut v: Vec<i32> = Vec::new() 空的动态数组
2 let mut v: Vec<i32> = Vec::with_capacity(10) 指定容量的数组
3 let mut v = vec![1,2,3] 运用Vec!宏新建一个动态数组,且让编译器自动推导数据的类型
为啥要创建指定容量大小的数组:由于数组是动态增长的,每次扩充都会带来新的系统开销,如果能提前预估到所需要用到的数组的大小,就不需要有频繁的系统开销
一定程度上加快了程序运行的速度。
插入数据:1 push 在尾部插入
2 使用 [] 定位赋值,可以指定位置切换元素
删除数据:1 pop 弹出最后一位数据,以some()的形式弹出。这个some形式有很多好处,在后面章节会有讲到。
2 remove 指定删除某个位置的元素,如果删除的索引越界就会报错。
数组访问:1 直接通过[]索引来访问,如果索引越界就会报错
2 通过get方法来获取,返回的是some形式,如some(3)
2.2 VecDeque
2.3 Hashmap
VecDeque和Hashmap的内容与vec大同小异,只是给的api不一样。
2.4 字符串
字符串还是比较有意思的,分为字面量str和字符串string。
2.4.1 str
str称为字面量,是固定长度的字符串,创建以后就不能再次修改了。
2.4.2 string
string是真正意义上的字符串,能与字面量str直接用运算符进行运算。
3 循环
3.2 loop无限循环
无需判断条件直接无限循环范围类的代码,直到beak
3.3 while
while是一个循环,需要有条件判断
3.3 continue 和 break
这两个关键字都有退出循环的作用。
区别:
continue:结束当次循环,不再执行continue以后的代码
break: 结束所有循环。直接退出loop或者while
3.4 match语法
例子 ://match 需要穷尽所有的模式情况 因此需要有 _符号来代表其他所有的模式
match age{
0 => println!("this is 0"),
1..=4 => println!("this is 1-4"),
_ => println!("nothing"),
}
语法糖: rust提供用if let 的语法糖来简化这个穷尽所有的模式的情况
//仅仅符合要求才执行
例子:
if let Some(7) = value{
println!("seven"),
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册