我有一个函数,它根据某些逻辑返回两个结构之一。我需要将返回类型指定为两个之一。我怎么做?
struct A {}
struct B {}
fn picky() -> ??? {
let a = A{};
let b = B{};
if 1 < 10 {
a
} else {
b
}
}
fn main() {
picky();
}
Run Code Online (Sandbox Code Playgroud)
这感觉应该是微不足道的,但在谷歌上几个小时后我仍然无法弄清楚。我是 Rust 的新手。
您的函数只有一种返回类型,但此类型可能是enum:
struct A {}
struct B {}
enum AB {
A(A),
B(B),
}
fn picky() -> AB {
let a = A{};
let b = B{};
if 1 < 10 {
AB::A(a)
} else {
AB::B(b)
}
}
Run Code Online (Sandbox Code Playgroud)
这正是Result
Rust 中的工作方式:您得到所需的值或错误,因为结果是具有两个变体的枚举。
归档时间: |
|
查看次数: |
77 次 |
最近记录: |