Swift REPL中的变量声明必须具有初始值

Swift REPL中的变量声明必须具有初始值,swift,read-eval-print-loop,variable-declaration,Swift,Read Eval Print Loop,Variable Declaration,学习闭包的快速语法声明。我有一个问题: let add: (Int, Int) -> Int add = { (a: Int, b: Int) -> Int in return a + b } 错误: 在REPL的顶层输入变量时,当前必须具有初始值 变量添加:(Int,Int)->Int Swift没有单独的没有赋值的变量声明(将nil赋值给一个可选变量是最接近的),因此最简单的修复方法是: let add: (Int, Int) -> Int = { (a: In

学习闭包的快速语法声明。我有一个问题:

let add: (Int, Int) -> Int 
add = { (a: Int, b: Int) -> Int in
    return a + b
}
错误:

在REPL的顶层输入变量时,当前必须具有初始值 变量添加:(Int,Int)->Int


Swift没有单独的没有赋值的变量声明(将nil赋值给一个可选变量是最接近的),因此最简单的修复方法是:

let add: (Int, Int) -> Int = { (a: Int, b: Int) -> Int in
   return a + b
}

正如评论者正确指出的,正如错误消息中所指出的,我的声明仅在读取-评估-打印循环(REPL)的顶层是正确的。

这不是完全正确的。Swift有单独的变量声明,没有赋值。你不能在最高层做到这一点。您可以在控制台应用程序或函数中顺利完成此操作。这仅适用于REPL。完全合法: