在动态语言(如Clojure)中,很容易表达不同类型的集合:
{:key1 "foo", :key2 [34 "bar" 4.5], "key3" {:key4 "foobar"}}
在Rust中,我看到了枚举的使用:
pub enum Value {
Null,
Bool(bool),
Number(f64),
String(String),
...
}
但是不同的程序员将选择不同的枚举来表示相同的封装类型。也有Any
trait,但这是实验性的。
Rust中惯用的表示不同类型项目集合的方式是什么?一些示例和/或实现的链接将非常好。