Edit expression

pull/1248/head
Scott Rhodes 1 year ago committed by GitHub
parent c2ce54cda4
commit 853baf599d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -206,7 +206,7 @@ impl<T> Screen<T>
上面的 `Screen` 的列表中,存储了类型为 `T` 的元素,然后在 `Screen` 中使用特征约束让 `T` 实现了 `Draw` 特征,进而可以调用 `draw` 方法。 上面的 `Screen` 的列表中,存储了类型为 `T` 的元素,然后在 `Screen` 中使用特征约束让 `T` 实现了 `Draw` 特征,进而可以调用 `draw` 方法。
但是这种写法限制了 `Screen` 实例的 `Vec<T>` 中的每个元素必须是 `Button` 类型或者全是 `SelectBox` 类型。如果只需要同质(相同类型)集合,更倾向于这种写法:使用泛型和 特征约束,因为实现更清晰,且性能更好(特征对象,需要在运行时从 `vtable` 动态查找需要调用的方法)。 但是这种写法限制了 `Screen` 实例的 `Vec<T>` 中的每个元素必须是 `Button` 类型或者全是 `SelectBox` 类型。如果只需要同质(相同类型)集合,更倾向于采用泛型+特征约束这种写法,因其实现更清晰,且性能更好(特征对象,需要在运行时从 `vtable` 动态查找需要调用的方法)。
现在来运行渲染下咱们精心设计的 UI 组件列表: 现在来运行渲染下咱们精心设计的 UI 组件列表:

Loading…
Cancel
Save