< 返回版块

ilp64 发表于 2020-12-04 15:46

Tags:data type, number

现在有个结构体,value的类型可以为字符串 布尔值 数字数字可以是整型 浮点型这些合法的数字。

enum Value {
    String(String),
    Bool(bool),
    Number(/*这里如何写*/)
}

struct AStruct {
    key: String,
    value: Value,
}

那现在问题来了,这个Value::Number里面如何写呢?

还要再加一个enum Number {Float(f64), Int(i64)}吗? 这样用的时候就要match2次,挺麻烦的。

评论区

写评论
Mike Tang 2020-12-04 21:01

https://crates.io/crates/num-traits

jmjoy 2020-12-04 18:48

--
👇
jmjoy: Into < i64 >

12101111 2020-12-04 16:34

https://docs.serde.rs/src/serde_json/number.rs.html#20-22

1 共 3 条评论, 1 页