如何以Rust最常见的方式将Option<T>转换为Option<&T>?

4
假设我有一个类型为Option<T>的值x,如何将其转换为Option<&T>
我尝试使用map
let result = x.map(|x| &x)
                       ^^ Error

但是我遇到了错误:
cannot return reference to function parameter `x`
returns a reference to data owned by the current function

2
相关链接:如何借用一个未包装的Option<T>? - Sven Marnach
这个回答解决了你的问题吗?当解包时,无法移出共享引用后面的值 - pretzelhammer
@pretzelhammer 不,它并不相同,尽管解决方案看起来相似,但我认为这是一个完全不同的问题。我特别想知道如何将 Option<T> 转换为 Option<&T>,即使抛出的错误表述也不同。因此,我请求重新打开这个问题。 - Wong Jia Hau
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接