Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.54 KB

Rust的特点.md

File metadata and controls

55 lines (34 loc) · 2.54 KB

Rust的特点

Rust是一种系统程式设计语言,Rust提供以下功能:

  • 零成本抽象
  • 错误讯息
  • 移动语意
  • 没有资料竞争的执行绪
  • 模式匹配
  • 保证记忆体安全
  • 高效的C系结
  • 安全的记忆体空间分配
  • 最少的时间

1.零成本抽象

在Rust中,可以新增抽象而不会影响程式码的执行时效能。它提高了程式码品质和程式码的可读性,而无需任何执行时效能成本。

2.错误讯息

在C++程式设计中,与GCC相比,错误讯息有了很好的改进。在清晰的情况下,Rust更进一步提高。错误讯息显示为(格式,颜色),并在程式中建议拼写错误。

3.型别推断

Rust提供了型别推断的功能,这意味着它可以自动确定表示式的型别。

4.移动语意

Rust提供此功能,允许在源物件是临时物件时,通过移动操作替换复制操作。

5.没有资料争用的执行绪

资料争用是两个或多个执行绪存取同一记忆体位置的条件。由于所有权系统,Rust提供了没有资料争用的执行绪功能。所有权系统仅将不同物件的所有者传输到不同的执行绪,并且两个执行绪永远不能拥有具有写存取许可权的相同变数。

6.模式匹配

Rust提供了模式匹配的功能。在模式匹配中,Rust中的模式与'match'表示式一起使用,以更好地控制程式的控制流。以下是一些模式的组合:

  • 字面量
  • 阵列,列举,结构或元组
  • 变数
  • 万用字元
  • 预留位置

7.保证记忆体安全

Rust通过使用所有权的概念保证了记忆体安全。所有权是C语言的记忆体控制和java的垃圾收集之间的中间地带。在Rust程式中,记忆体空间由变数拥有,并由其他变数暂时借用。这允许Rust在编译时提供记忆体安全性,而不依赖于垃圾收集器。

8.高效的C系结

Rust提供了「高效C系结」的功能,这意味着Rust语言能够在与自身对话时与C语言进行互操作。Rust提供了一个「外部功能介面」来与C API进行通讯,并利用其所有权系统同时保证记忆体安全。

9.安全的记忆体空间分配

在Rust中,记忆体管理是手动的,即程式员可以明确控制分配和释放记忆体的位置和时间。在C语言中,使用 此运算子将智慧指标返回为 智慧指标是一种特殊的值,用于控制何时释放物件。智慧指标是「智慧的」,因为它们不仅跟踪物件的位置,而且还知道如何清理它。malloc``~``int