Android Rust 介绍
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Android 平台支持使用 Rust 开发本机操作系统组件,Rust 是一种现代系统编程语言,可提供内存安全保证,性能与 C/C++ 相当。 Rust 使用强制对象生命周期和所有权的编译时检查和确保有效内存访问的运行时检查的组合,从而消除了对垃圾收集器的需要。
Rust 提供了一系列现代语言功能,使开发人员能够提高工作效率并对他们的代码充满信心:
- 安全并发编程——这使得用户可以轻松编写高效、线程安全的代码,这引发了 Rust 的Fearless Concurrency口号。
- 表达性类型系统- Rust 通过允许高度表达性类型(例如 Newtype 包装器和带有内容的枚举变体)来帮助防止逻辑编程错误。
- 更强大的编译时检查- 在编译时捕获的更多错误增加了开发人员的信心,即当代码成功编译时,它会按预期工作。
- 内置测试框架——Rust 提供了一个内置测试框架,单元测试可以与他们测试的实现一起放置,使单元测试更容易包含。
- 错误处理强制- 具有可恢复故障的函数可以返回Result 类型,该类型将是成功变体或错误变体。编译器要求调用者检查并处理函数调用返回的
Result
枚举的错误变量。这减少了未处理的故障导致的错误的可能性。 - 初始化- Rust 要求在使用之前将每个变量初始化为其类型的合法成员,以防止无意初始化为不安全的值。
- 更安全的整数处理- 所有整数类型转换都是显式转换。开发人员在分配给变量或尝试对其他类型进行算术运算时,不会在函数调用期间意外进行强制转换。在 Android for Rust 中,溢出检查默认是开启的,这需要明确的溢出操作。
有关更多信息,请参阅有关 Android Rust 支持的系列博文:
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2022-06-06。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2022-06-06\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2022-06-06。"]]