rust对于不定长和不定类型的数据处理?

作者站长头像
站长
· 阅读数 14

目前我在写一个mariadb的驱动,但是碰到了一个问题。

mariadb的对于查询的数据返回分为了两部分:1.每个字段的类型,类似于[i32, String]2.以String表示的每个字段的值["1", "alpha"]

我希望把2中String表示的字段值转换成1中特定数据类型,但是由于每个查询的字段数和字段类型都是不定的,请问这个大概需要怎么做。

烦请各位大佬指一下方向,谢谢。

回复
1个回答
avatar
test
2024-07-19

这种建议参考一下其他类库,如MySQL。

https://docs.rs/mysql/latest/mysql/enum.Value.html

pub enum Value {
    NULL,
    Bytes(Vec<u8>),
    Int(i64),
    UInt(u64),
    Float(f32),
    Double(f64),
    Date(u16, u8, u8, u8, u8, u8, u32),
    Time(bool, u32, u8, u8, u8, u32),
}
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容