Rust的std :: fmt :: write的这些参数是什么?

时间:2014-10-21 03:20:50

标签: rust

我试图确保我理解http://chrismorgan.info/blog/rust-fizzbuzz.html上的所有示例,而我坚持的一件事与FizzBu​​zz无关,而是与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),
        }
    }
}

1 个答案:

答案 0 :(得分:2)

b"…"是一个字节字符串文字。由于"…"的类型为&'static str,因此其类型为&'static [u8]