4008|6

402

帖子

9

TA的资源

纯净的硅(初级)

楼主
 

《rust实战》读后感(第3~6章) [复制链接]

本帖最后由 tobot 于 2024-5-26 15:04 编辑

Rust是一种系统编程语言,它注重安全性、速度和并发性。这里一并把3~6章的读后感一次性发出来吧。

第三章

学习Rust的复合数据类型,让我对面向对象编程有了全新的认识。Rust通过结构体(structs)、枚举体(enums)和特性(traits)等机制,实现了解耦和抽象,使得代码更加模块化和可维护。

首先,Rust的结构体让我印象深刻。它允许我们将相关的数据组合在一起,形成一个有意义的对象。通过使用impl关键字,我们可以在结构体上定义方法,实现与数据相关的操作。这种方法使得代码更加清晰和易于理解。同时,结构体还可以与所有权和生命周期等机制相结合,确保数据的安全性和有效性。

其次,枚举体是Rust中另一个强大的复合数据类型。它允许我们定义一组具有共有行为的变体,每个变体可以包含不同类型的数据。这使得我们可以用枚举体来表示复杂的层次结构和数据模式,同时还可以通过模式匹配来处理不同的变体。这种灵活性和表达能力让枚举体成为了解决问题的有力工具。

此外,Rust的特性(traits)也为共有行为提供了抽象。特性定义了一组方法,可以由任何类型实现。这使得我们可以为不同的类型提供共有行为,实现多态和代码复用。特性的另一个重要作用是作为约束条件,用于泛型和泛型参数。这使得我们可以编写更加通用和灵活的代码,同时保持类型安全和性能。

在学习Rust的复合数据类型过程中,我深刻体会到了它的优势。首先,它使得代码更加模块化和可维护。通过将数据和行为封装在一起,我们可以更好地组织和管理代码。其次,它提高了代码的可读性和易理解性。通过定义清晰的结构体和枚举体,我们可以更直观地表达数据和逻辑。最后,它增强了代码的灵活性和可扩展性。通过特性和泛型等机制,我们可以编写更加通用和可重用的代码。

 

第四章

Rust的独特之处在于其编译时内存安全检查,这让开发者能够编写出既安全又高效的代码。所有权则是其中最重要的概念之一。

Rust通过所有权机制来管理内存,每个数据只能有一个所有者。当数据不再被使用时,Rust会自动释放其内存。这种机制避免了内存泄漏的问题,同时也提高了内存使用效率。所有权机制让开发者对内存的使用有了更清晰的认识,从而编写出更加安全和高效的代码。——当然,这也是要求开发者得有更加清晰的思维。

借用是Rust中的另一个重要概念,Rust允许我们借用数据的引用,而不是直接获取其所有权。这样,我们可以在不转移所有权的情况下使用数据,提高了代码的灵活性和复用性。然而,Rust对借用有着严格的规则,如借用检查。这保证了在编译阶段就能发现潜在的数据竞争和内存安全问题。

生命周期是Rust确保引用安全的关键机制。Rust通过生命周期参数来描述引用的有效期限,从而确保引用始终指向有效的数据。生命周期使得我们可以编写出既安全又高效的并发代码,避免了数据竞争和内存泄漏等问题。虽然生命周期的理解和使用有一定难度,但它在保证代码安全性方面发挥着至关重要的作用。

在学习Rust的生命周期、所有权和借用机制过程中,我深刻体会到了Rust在内存管理方面的优势。首先,它提供了一种清晰、简单的内存管理方式,让开发者能够专注于业务逻辑而非内存细节。其次,它提高了代码的安全性和稳定性。通过编译时检查,Rust避免了运行时内存错误,降低了系统崩溃的风险。最后,它增强了代码的灵活性和复用性。通过借用和生命周期机制,我们可以编写出更加通用和可扩展的代码。

总之,学习Rust过程中会遇到一些困难,但只要理解了含义,会发现编写Rust代码是非常安全的,至少在内存使用这块,比大多数软件做得更好。

 

第五章

这一章讲的是数据类型,同时用一个CPU模拟器作为例子来巩固概念。与第二章的数据类型相比,这章的重点在于浮点数,如何表示浮点数、使用浮点数,这章都有详细介绍,但个人感觉Rust在浮点数这块做得并不算出彩。

 

第六章

内存管理在任何语言中都不能跳过去,在本章介绍指针,很奇怪的是,在Rust中只有FILO的“栈”而没有FIFO的“队列”,感觉队列在实际应用中可能更加广泛,于是尝试写了一个队列的小程序,见附件。

fifo队列管理内存.rs (908 Bytes, 下载次数: 0)
 

 

最新回复

继续看看,看看,还是看看。。。。。 怪不得没见lugl大佬的身影,原来出差去了呀。。。。   详情 回复 发表于 2024-5-28 14:13
点赞 关注

回复
举报

7042

帖子

11

TA的资源

版主

沙发
 

出差十多天,看来没有得时间完成任务了。

点评

我也在出差啊,而且是五一节后就一直在外面了。。。,每天晚上工作到深夜  详情 回复 发表于 2024-5-27 12:20
 
 

回复

402

帖子

9

TA的资源

纯净的硅(初级)

板凳
 
lugl4313820 发表于 2024-5-26 17:24 出差十多天,看来没有得时间完成任务了。

我也在出差啊,而且是五一节后就一直在外面了。。。,每天晚上工作到深夜

点评

我这是严格的军事管理呀,早上5:50起床,晚上10准时熄灯。一天下来,全身骨头散架!  详情 回复 发表于 2024-5-27 17:50
 
 
 

回复

755

帖子

4

TA的资源

纯净的硅(高级)

4
 

感谢楼主分享的内容,对rust初学者了解这门语言非常有指导意义

 
 
 

回复

7042

帖子

11

TA的资源

版主

5
 
tobot 发表于 2024-5-27 12:20 我也在出差啊,而且是五一节后就一直在外面了。。。,每天晚上工作到深夜

我这是严格的军事管理呀,早上5:50起床,晚上10准时熄灯。一天下来,全身骨头散架!

 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 

谢谢分享,期待后续!

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1388

帖子

1

TA的资源

五彩晶圆(初级)

7
 

继续看看,看看,还是看看。。。。。

怪不得没见lugl大佬的身影,原来出差去了呀。。。。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表