一、所有权规则
1.Rust 中的每个值都有一个变量,称为其所有者。
2.一次只能有一个所有者。
3.当所有者不在程序运行范围时,该值将被删除。
二、变量和数据交互方式
1.移动:赋值移动后原有变量会消亡
2.克隆:克隆clone()会赋值值,会存在两份
三、函数所有权机制
1.变量当作函数的参数传给其他函数:和移动效果一样
2.函数返回值的所有权机制:被当作函数返回值的变量所有权将会被移动出函数并返回到调用函数的地方,而不会直接被无效释放。
四、引用和租借
1.引用:引用不具有所有权,只能租借(Borrow)值的所有权,不能修改数据。
2.垂悬引用:类比有指针语言中没有实际指向一个真正能访问的数据的指针,rust里不允许存在。