摘要:# 前言 错误是软件中不可避免的事实,因此Rust提供了许多特性来处理出现问题的情况。在许多情况下,Rust要求你在代码编译之前发现错误的可能性并采取一些行动。这个要求通过确保你在将代码部署到生产环境之前发现并适当处理错误,使你的程序更加健壮! Rust将错误分为两大类:可恢复和不可恢复的错误。对于可恢复的错误,例如找不到文件错误,我们很可能只想向用户报告问题并重试该操作。不可恢复的错 阅读全文
posted @ 2024-12-02 16:31:01 王洋 阅读(184) 评论(0) 推荐(1)
摘要:# 前言 新 Rust 开发者通常会因三个原因而在字符串上遇到困难:Rust 倾向于暴露可能的错误、字符串作为一种数据结构比许多程序员认为的要复杂,以及 UTF-8。这些因素结合在一起,可能会让你在从其他编程语言转换过来时觉得困难。 我们将字符串作为集合来讨论,因为字符串被实现为一个字节集合,加上一些方法,以便在将这些字节解释为文本时提供有用的功能。在本节中,我们将讨论每个集合类型都有 阅读全文
posted @ 2024-11-26 16:23:25 王洋 阅读(241) 评论(0) 推荐(0)
摘要:# 前言 Rust的标准库包含许多非常有用的数据结构,称为集合。大多数其他数据类型代表一个特定的值,但集合可以包含多个值。与内置的数组和元组类型不同,这些集合指向的数据存储在堆上,这意味着数据的数量不需要在编译时知道,并且可以在程序运行时增长或缩小。每种集合都有不同的能力和成本,选择适合当前情况的集合是您会随着时间推移而发展的一项技能。在本章中,我们将讨论 Rust 程序中经常使用的三个集合 阅读全文
posted @ 2024-11-26 16:22:56 王洋 阅读(165) 评论(0) 推荐(0)
摘要:# 前言 到目前为止,本章中的所有示例都在一个文件中定义了多个模块。当模块变大时,您可能希望将它们的定义移动到单独的文件中,以便更轻松地浏览代码。 # 内容 现在让我们先把餐厅模块的代码进行梳理。我们将把模块提取到文件中,而不是在crate根文件中定义所有模块。在这种情况下,crate根文件是src/lib.rs,但此过程也适用于二进制crate,其crate根文件是src/ma 阅读全文
posted @ 2024-11-26 16:20:35 王洋 阅读(361) 评论(0) 推荐(0)
摘要:# 前言 到目前为止,本章中的所有示例都在一个文件中定义了多个模块。当模块变大时,您可能希望将它们的定义移动到单独的文件中,以便更轻松地浏览代码。 # 内容 现在让我们先把餐厅模块的代码进行梳理。我们将把模块提取到文件中,而不是在crate根文件中定义所有模块。在这种情况下,crate根文件是src/lib.rs,但此过程也适用于二进制crate,其crate根文件是src/ma 阅读全文
posted @ 2024-11-20 12:22:20 王洋 阅读(231) 评论(0) 推荐(0)