是否有'stringify'宏的字节等价?

ide*_*n42 6 macros rust

Rust有一个stringify!宏来将表达式作为字符串.有没有办法获得输出字节的等效功能?

好像表达式被写成字节字符串文字,例如:b"some text".


使用宏代替的原因str.as_bytes()是转换函数不能用于构造const值.
请参阅:如何从文字字节表达式构造const整数?
为什么你可能想要使用这个宏.

ken*_*ytm 4

如果您使用 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)

演示