Rust有一个stringify!宏来将表达式作为字符串.有没有办法获得输出字节的等效功能?
好像表达式被写成字节字符串文字,例如:b"some text".
使用宏代替的原因str.as_bytes()是转换函数不能用于构造const值.
请参阅:如何从文字字节表达式构造const整数?
为什么你可能想要使用这个宏.
如果您使用 nightly Rust(自 1.28.0-nightly,2018-05-23 起),您可以启用该const_str_as_bytes功能,该功能会as_bytes()变成一个const函数。
#![feature(const_str_as_bytes)]
fn main() {
const AAA: &[u8] = stringify!(aaa).as_bytes();
println!("{:?}", AAA); // [97, 97, 97]
}
Run Code Online (Sandbox Code Playgroud)
(演示)