总结
Day1
搭建rust练习的运行环境
Day2
let声明变量(不可改变) mut让变量可改变 例:let x=5;let mut x=5;
1.基本数据类型 i32…u8,16,32…usize…char,bool
2.复合类型 数组:[1,2,3] 元组(1,”s”,true,”double”)
loop循环,变量作用域,返回值
引用和借用,slice,自定义结构体和元组结构体,vector,hashmap
第二天完成的都是基础
Day3
enum创建实例和初始化
option枚举,只有存在some()和不存在none
match控制流,类似其他语言的switch进行匹配, _ => 是math的通用符匹配
模块的声明和创建
泛型 T trait方法
生命周期(我觉得比较难的)
&i32 //引用
&’a i32 &’a mut i32 //带有显式生命周期的引用
通过使用&’a符号,声明声明周期。在函数传值的过程中,形参和实参生命周期要一样
BOX
并发编程:(第二个觉得比较有意思的)
使用spawn创建新线程 let handle = thread::spawn(||{…….})
使用join等待所有线程结束 handle.join().unwrap()
将move闭包和线程一起使用 et handle = thread::spawn(move||{…….})
Day4
第四天完成剩下的练习题
stack,queue
排序算法,链表,哈希表