此问题在此处已有答案:
How do I create a HashMap literal?(9个答案)
11小时前关门了。
在Rust中,我们可以使用宏vec![]
创建一个Vector。
let numbers = vec![1, 2, 3];
是否有类似的宏允许我们创建HashSet
?
从文档https://doc.rust-lang.org/std/collections/struct.HashSet.html中,我注意到我们有HashSet::from
:
let viking_names = HashSet::from(["Einar", "Olaf", "Harald"]);
但是,这需要我们首先创建一个数组,这似乎有点浪费。
2条答案
按热度按时间gorkyyrv1#
标准库中没有宏,但是This crate提供了一个宏。
至于浪费,创建一个字符串常量数组是相当便宜的,而且几乎肯定会被优化掉。
dxxyhpgq2#
如果您担心在运行时构造
HashSet
的开销,或者希望它是一个static
,那么phf板条箱可能会对您有所帮助。