如何在不分配字符串的情况下将Rust整数类型转换为其字符串表示形式?

时间:2019-03-13 21:36:00

标签: io rust type-conversion

我有一个count: u32,需要通过它的ASCII字节表示形式推送TCP流。例如,如果值为42,我想将字节[52, 50](ASCII表示“ 42”)写入流中。

我可以先创建一个String来做到这一点:

use std::io::prelude::*;

fn write_number<T: Write>(writer: &mut T, num: u32) -> std::io::Result<usize> {
    let num_as_str: String = num.to_string();
    let num_as_bytes = num_as_str.as_bytes();
    writer.write(num_as_bytes)
}

这是浪费时间吗?我认为不需要为此任务分配String。有没有更有效的方法来实现write_number?我已经尝试过str,但是str没有实现From<u32>

0 个答案:

没有答案