我有一个函数,根据某些逻辑返回两个结构体中的一个。我需要指定返回类型为其中之一。我该怎么做?
struct A {}
struct B {}
fn picky() -> ??? {
let a = A{};
let b = B{};
if 1 < 10 {
a
} else {
b
}
}
fn main() {
picky();
}
这似乎应该是微不足道的事情,但是在Google上搜索了几个小时后,我仍然无法弄清楚。我是Rust的新手。
Result<A, B>
作为返回类型。还有一个提供了Either
类型的 crate,其中两种类型都处于平等地位。如果不确定使用什么,请按照此答案中所示创建自己的枚举类型。 - user4815162342