3.4 同时借用两者
04-同时借用两者 — Comprehensive Rust
1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/lifetimes/borrow-both.html
3.4 同时借用两者
本例中,函数可能返回 a 或 b。我们用生命周期标注告诉编译器:两个借用都可能流入返回值。
| |
pick函数会根据c的值返回a或b,这意味着我们在编译期无法知道会返回哪一个。为了向编译器表达这一点,我们为
a与b以及返回类型使用相同的生命周期。这意味着返回的引用会同时借用a和b!取消注释那两行被注释的代码,展示即使运行时只会指向其中一个,
r也会同时借用a与b。更改传给
pick的第一个参数,展示无论返回a还是b,结果都相同。