Rust中使用vec!宏创建指定数据类型Vec的惯用方法是什么?
解决方案
你可以直接用以下两种不需要提前声明变量的写法,直接在vec!宏调用时指定u8类型:
- 给数字字面量加
u8后缀,Rust会自动推导剩余元素的类型为u8,写法最简洁:
也可以给所有元素都加后缀,类型标识更清晰:assert_eq!(vec![1u8, 2, 3], func1());assert_eq!(vec![1u8, 2u8, 3u8], func1()); - 用 turbofish 语法直接给
vec!宏指定泛型参数,不需要修改元素字面量,适合元素数量较多的场景:assert_eq!(vec::<u8>[1, 2, 3], func1());
以上两种写法都可以直接在表达式场景(比如assert语句、函数参数)中使用,不需要提前声明变量存储向量。
内容的提问来源于stack exchange,提问作者Coder
相关产品推荐
相关产品推荐

