如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型?

查看 36|回复 2
作者:kyonn   
如下最简单的一个闭包代码, 外部 let 定义的 name 类型是 String, 那么根据 rust 闭包的借用值机制, 闭包内使用的 name 是对外部的引用, 那么闭包表达式内的 name 类型应该是 &String 才对, 包括 AI 也是这么回答的.
但是我用 rust 的代码去打印闭包内的 name 类型, 以及 VSCode rust-lang.rust-analyzer 分析显示 name 类型都是 String.
let name = String::from("hello");
let f1 = || println!("{}", name);

闭包, 借用, 类型

xtreme1   
warning: unused variable: `name`
kyonn
OP
  
@xtreme1 不好意思, 之间主题没编辑完整就发出来了.
您需要登录后才可以回帖 登录 | 立即注册

返回顶部