Rust学习笔记(4)-Ownership
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
TestOps
扫码关注公众号
扫码阅读
手机扫码阅读
Ownership
Ownership是Rust语言独有的一套用于内存管理的规则,它是Rust的一个核心特性。
前置知识
理解Ownership前需要知道堆内存(Heap)和栈内存(Stack)的区别。
Ownership规则
- 每个值由一个变量(Owner)承载。
- 一个值同时只能有一个Owner。
- Owner离开作用域后,值被丢弃。
关于作用域
作用域的概念类似于C/C++和Java,变量在声明后到作用域结束前有效。
内存与分配
基础数据类型直接存储在栈内存中,其他类型存储在堆内存中并在栈内存保存地址信息。
内存释放
Rust自动调用drop方法释放堆内存。赋值操作被视为"move",原变量失效,避免双重释放。
引用与借用
Rust中的引用允许变量借用值,但不改变所有权。可变引用与不可变引用不能同时存在,防止数据竞争。
切片slice类型
切片是一种不存储值的引用,用于引用字符串或其他集合的部分数据。在切片有效期间,原数据不能被变更。
示例分析
通过示例代码分析了Ownership、引用、借用和切片的使用以及编译器如何通过规则避免内存安全问题。
TestOps
TestOps
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
TestOps的其他文章
《PlayWright全解析——从入门到精通》-5
在PlayWright中可以使用page.evaluate()或者locator.evaluate()方法来执行脚本。
Rust学习笔记(3)- 变量和可变属性
变量和可变属性
变量定义
1
let x = 5;
用let关键字定义
《PlayWright全解析——从入门到精通》-2
PlayWright旨在提供一种跨平台、跨语言、跨浏览器,并且能支持移动端浏览器的自动化测试框架。
当大家都在一本正经讨论健康码怎么做才对的时候,我就笑笑
专业的事情让专业的人来做,而不是头疼医头脚疼医脚
破内卷最佳实践
程序设计经理、IT项目管理者的团队管理手册!2位作者集80余年编程和管理实践经验教训,总结300余条千锤百炼的经验法则与至理名言,破解管理难题,打造高效团队!
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线