io - 如何在不分配字符串的情况下将 Rust 整数类型转换为其字符串表示形式?
问题描述
我有一个count: u32
我需要通过一个 TCP 流作为它的 ASCII 字节表示。例如,如果值为 42,我想将字节[52, 50]
(ASCII 表示“42”)写入流。
我可以通过首先创建一个String
with 来做到这一点:
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
为此任务分配 a 是必要的。有没有更有效的实施方式write_number
?我试过通过str
,但str
没有实现From<u32>
。
解决方案
推荐阅读
- mybatis - Mybatis resultMap中如何使用Multiple collection
- linux - 文件未排序后排序
- java - 从数据库加载 netflix zuul 路由值
- python - Gstreamer、Docker、udpsrc、OpenCV、Python... 不工作
- laravel - Laravel 日志异常
- vba - VBA - 如果单元格值更改,则移动行
- javascript - 使用 sequelize 获取字段中具有唯一值的所有行
- javascript - 检查并匹配文件扩展名
- flutter - Flutter:如何在不使用标签栏视图的情况下使用导航器创建标签栏?
- gitlab - 在 GitLab 中更改导航主题颜色