我试图确保我理解http://chrismorgan.info/blog/rust-fizzbuzz.html上的所有示例,而我坚持的一件事与FizzBuzz无关,而是与write()的参数无关。
请考虑以下代码:在Fizz => f.write(b"Fizz")
之类的行中,什么是' b'它来自哪里?
use std::fmt;
enum FizzBuzzItem {
Fizz,
Buzz,
FizzBuzz,
Number(int),
}
impl fmt::Show for FizzBuzzItem {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
Fizz => f.write(b"Fizz"),
Buzz => f.write(b"Buzz"),
FizzBuzz => f.write(b"FizzBuzz"),
Number(num) => write!(f, "{}", num),
}
}
}
答案 0 :(得分:2)
b"…"
是一个字节字符串文字。由于"…"
的类型为&'static str
,因此其类型为&'static [u8]
。