Rust有一个stringify!
宏来将表达式作为字符串。
有没有办法获得输出字节的等效功能?
好像表达式被写为字节字符串文字,例如:b"some text"
。
使用宏而不是str.as_bytes()
的原因是转换函数无法用于构造const
值。
请参阅:How to construct const integers from literal byte expressions?
为什么你可能想要使用这个宏。
答案 0 :(得分:3)
如果您使用夜间Rust(自1.28.0-夜间,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]
}
(Demo)