rust - 为什么对向量的引用在需要引用数组的函数中起作用
问题描述
我有一个 i32 的向量。我创建了 2 个函数
- fn1 接受对 i32 数组的引用
- fn2 接受对 i32 向量的引用
我无法理解为什么此代码适用于 fn1。编译器不应该抛出不匹配类型错误,因为我们正在传递对向量的引用,而 fn1 需要对数组的引用吗?
fn main() {
let my_vec = vec![1,2,3];
fn1(&my_vec);
fn2(&my_vec);
}
fn fn1(number_vec: &[i32]){
dbg!(number_vec);
}
fn fn2(number_vec: &Vec<i32>){
dbg!(number_vec);
}
我觉得锈一定会自动改变类型。如果是这种情况,请解释它是如何完成的。
解决方案
推荐阅读
- java - 野蝇 | 不考虑杰克逊多态性
- firebase - 从 firebase flutter 获取对象的数组集合
- dask - 使用 dask-gateway 创建新的 k8s dask 集群时配置调度程序和工作程序模板
- google-sites - 用于创建新站点的 API
- javascript - 停止键盘事件冒泡到父级
- linux - brew 命令失败,无法安装节点
- angular - 无法打开 .oft,文件已打开或没有权限
- python - 在 seaborn swarmplot 上显示值
- c++ - 如何防止 QtCreator 移动断点,使所有行可用?
- python - 获得加起来达到一定数量的加权项目的排列