Rust 程序设计语言 简体中文版 1.85.0assert_eq! 的 left 参数(也就是 add_two(2) 的结果)是 5,而 right 参 数是 4。可以想象当有很多测试在运行时这些信息是多么的有用。 需要注意的是,在一些语言和测试框架中,断言两个值相等的函数的参数被称为 expected 和 actual,而且指定参数的顺序非常重要。然而在 Rust 中,它们则叫做 left 和 right,同时指 定期望的值和被测试代码产生 draw 方法。其他的 类比如 Button、Image 和 SelectBox 会从 Component 派生并因此继承 draw 方法。它们各自都 可以重写 draw 方法来定义自己的行为,但是框架会把所有这些类型当作是 Component 的实例, 并在其上调用 draw。不过 Rust 并没有继承,我们需要寻找另一种方式来设计 gui 库,以便用 户能够使用新类型进行扩展。 定义通用行为的 性还可以用于其它的项,比如函数。作为一个使用类属性宏的例子,可以创建一个名为 route 的属性用于注解 web 应用程序框架(web application framework)的函数: #[route(GET, "/")] fn index() { #[route] 属性将由框架本身定义为一个过程宏。其宏定义的函数签名看起来像这样: #[proc_macro_attribute] pub fn0 码力 | 562 页 | 3.23 MB | 26 天前3
共 1 条
- 1













