只写一个字节的便捷方法

时间:2017-11-08 14:55:31

标签: rust

我有一个通用函数,需要将(非ASCII)字节写入io::Write编写器。

可靠地写出io::Write特征提供的单个字节的最短方法是AFAIK writer.write_all(&[0])?。在很多地方写这个有点长,语法上很吵。

Rust的stdlib是否有一个宏或扩展特征,其便捷方法写得更短?

1 个答案:

答案 0 :(得分:4)

  

Rust的stdlib是否有一个宏或扩展特征,其便捷方法写得更短?

不是我知道的。但几乎无处不在的byteorder箱提供write_u8。虽然它不受机器的字节顺序的影响,但它是为了完整而包含的。

use byteorder::WriteBytesExt;

writer.write_u8(0)?;

如果您打算经常使用此方法,最好将编写器包装在缓冲的编写器(如BufWriter)周围。