Rust 有一个 stringify!
宏以获取字符串形式的表达式。
有没有办法获得输出字节的等效功能?
就好像表达式是写成字节字符串文字一样,例如:b"some text"
。
使用宏而不是 str.as_bytes()
的原因是转换函数不能用于构造 const
值。 See this question for why you might want to use this macro .
最佳答案
如果您正在使用 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]
}
( Demo )
关于macros - 是否有 'stringify' 宏的字节等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42199312/