Answers:
之所以无法这样做,是因为您在函数所在的范围内既没有函数也没有整数println
。
因为函数通常在整个作用域中都可用(即,您可以在声明它们之前使用它们),所以它们的声明从概念上讲移到了作用域的开头(被“吊起”)。
结果是函数声明在整数变量声明之前,并且被遮盖。
代码的真正解决方法取决于您的实际情况。也许是这样的:
fn main() {
{
let a = 1;
// use the integer there
}
fn a() -> i32 {
2
}
println!("{}", a());
}