rust - 为什么针对 &Option<_> 的模式匹配会引用包装的值?
问题描述
假设我有以下代码:
fn print_type_of<T>(msg: &str, _: &T) {
println!("type of {}: {}", msg, std::any::type_name::<T>())
}
fn main() {
let x: &Option<i32> = &Some(32);
match x {
Some(y) => print_type_of("y", &y),
None => println!("None"),
};
}
你能解释一下为什么程序会打印:type of y: &i32
?为什么模式匹配&Option<_>
会引用包装的值而不是值本身?
解决方案
推荐阅读
- php - Guzzle getContents()->getBody() - 第二次调用返回空字符串
- apache-spark - 如何使用自定义架构覆盖 csv 文件中的列名?
- bash - 检查图像是否使用 optipng 优化
- react-native - 创建我的项目的构建但失败。反应原生博览会
- angular - 将 Angular 7 Universal 与 Openlayers 5 一起使用
- c++ - 如何在 vtk 中的 3D 表面渲染输出中获取 2D dicom 图像切片的位置
- python - 使用单应投影计算轨迹
- api - IBM Domino 10 - 通过 Domino Data Services API 与 Resource Reservations 集成
- ios - 如何从 iTunesConnect 永久删除应用程序,以便以后无法恢复?
- eloquent - Laravel 获取属于用户的表鬃毛,其中列急切加载