php-lsys 发表于 2021-09-15 23:26
let val=if true { 1 }else { "ss" }; println!("{:?}",val);
怎么实现val在不同条件下得到不同的类型?
类型多的时候枚举写的累 而且也只能考虑当前crate里的类型 其他crate用你的时候嗝屁
-- 👇 reison1218: 推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用
推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用
类型不确定就用动态类型啊,又不是只有一种方法。不过你要是想 Rust 像动态语言那样类型灵活是不可能的。
可以用std::any::Any,可指向任何对象。 不过你要使用这个对象,你最后总得知道他的类型或者使用trait里的函数吧。 所以还是枚举比较好。
类型不确定呢? 总不能把所有类型都包在枚举里面吧
pub enum Custom<'a> { A(u32), B(&'a str) }
评论区
写评论类型多的时候枚举写的累 而且也只能考虑当前crate里的类型 其他crate用你的时候嗝屁
--
👇
reison1218: 推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用
推荐用枚举,rust的枚举很强大的,自己写个类似枚举类型解析工具,然后弄个接口给外部调用
类型不确定就用动态类型啊,又不是只有一种方法。不过你要是想 Rust 像动态语言那样类型灵活是不可能的。
可以用std::any::Any,可指向任何对象。
不过你要使用这个对象,你最后总得知道他的类型或者使用trait里的函数吧。
所以还是枚举比较好。
类型不确定呢? 总不能把所有类型都包在枚举里面吧