我发现我可以在我的代码中同时使用vec![]和vec!(),它们都做同样的事情--初始化一个Vec。不过,我没有在后一份表格上找到任何文档。这真的是一回事吗?我应该用哪一种?为什么?
发布于 2021-01-02 22:52:02
宏can be invoked using [], (), or {}.
使用哪个分隔符对它的执行方式没有实际影响,尽管人们通常会使用大括号来表示“块样”或“定义”宏(例如tokio的select),括号用于类文字表达式(vec),使用括号表示类函数表达式(例如println或matches)。
发布于 2021-01-02 22:48:10
事实上,有3种形式的(),[]和{},它们都是相同的。
https://users.rust-lang.org/t/braces-square-brackets-and-parentheses-in-macro-call/9984/2
是的,它们是一样的。用你最喜欢的。通常()用于类似函数的宏,[]用于vec,{}用于其他情况。
https://stackoverflow.com/questions/65544903
复制相似问题