摘要: 我们很多时都使用像 println! 这样的宏,不过还没有完全探索什么是宏以及它是如何工作的。宏 (Macro) 指的是Rust中一系列的功能:使用 macro_rules! 的声明宏,和三种 过程(Procedural)宏: 自定义#[derive]宏在结构体和枚举上指定通过derive属性添加的 阅读全文
posted @ 2021-10-10 20:42 johnny_zhao 阅读(574) 评论(0) 推荐(0)
摘要: 函数指针 我们之前学习过向函数传递闭包;也可以向函数传递常规函数。这在我们希望传递已经定义的函数而不是重新定义闭包作为参数时很有用。通过函数指针允许我们使用函数作为另一个函数的参数。函数的类型是 fn (使用小写的"f") 以免与 Fn 闭包trait相混淆。fn 被称为 函数指针(function 阅读全文
posted @ 2021-10-10 20:03 johnny_zhao 阅读(1172) 评论(0) 推荐(0)
摘要: Rust的类型系统还有一些其它功能。如 newtype 和 类型别名(type aliases),一个类型似newtype但有首稍微不同的语义的功能。还有 ! 类型和动态大小类型。 为了类型安全和抽象而使用newtype模式 newtype模式可以用于一些其它我们还没讨论的功能,包括静态的确保某值不 阅读全文
posted @ 2021-10-10 12:20 johnny_zhao 阅读(516) 评论(0) 推荐(0)