< 返回版块

php-lsys 发表于 2021-09-15 23:26

let val=if true {
   1
}else {
   "ss"
};
println!("{:?}",val);

怎么实现val在不同条件下得到不同的类型?

评论区

写评论
作者 php-lsys 2021-09-16 23:13

类型多的时候枚举写的累 而且也只能考虑当前crate里的类型 其他crate用你的时候嗝屁

--
👇
reison1218: 推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用

reison1218 2021-09-16 15:38

推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用

苦瓜小仔 2021-09-16 13:09

类型不确定就用动态类型啊,又不是只有一种方法。不过你要是想 Rust 像动态语言那样类型灵活是不可能的。

Aya0wind 2021-09-16 11:11

可以用std::any::Any,可指向任何对象。
不过你要使用这个对象,你最后总得知道他的类型或者使用trait里的函数吧。
所以还是枚举比较好。

作者 php-lsys 2021-09-16 11:04

类型不确定呢? 总不能把所有类型都包在枚举里面吧

苦瓜小仔 2021-09-15 23:41
pub enum Custom<'a> {
    A(u32),
    B(&'a str)
}
1 共 6 条评论, 1 页