Rust中的大多数模式都是通过特征(Iterator
,From
,Borrow
等)捕获的。
[为什么在len
/ is_empty
中如此普遍的模式在标准库中没有相关的特征?这会导致我无法预见的问题吗?它被认为没有用吗?还是只是没有人想到它(这似乎不太可能)?
它被认为没有用吗?
我想这就是原因。
您知道什么东西是空的或长度为15,该怎么办?几乎没有任何东西,除非您还具有例如访问集合元素的方法。统一集合的特征是Iterator
。特别是,迭代器可以告诉您其基础集合有多少个元素,但它还能执行更多操作。
还请注意,如果需要Iterator
特征,则可以创建一个特征并将其用于所有标准集合,这与大多数语言的接口不同。这就是特质的力量。这也意味着标准库不需要为每个用例提供小的实用程序特征,它们可以由库提供!