如果我在Swift Playground中运行此代码,它可以正常工作。该函数在被调用之前就已经被定义了。
import Cocoa
func addValues(valueA:Double, valueB:Double)
{
let result = valueB + valueB
println("Result \(result)")
}
addValues(23.83, 87.12)
如果我在函数定义之前尝试调用函数,就会收到错误消息。这并不出乎意料,因为编译器仍然不知道这个函数。(由于某种原因它似乎仍然有效)import Cocoa
addValues(23.83, 87.12)
func addValues(valueA:Double, valueB:Double)
{
let result = valueB + valueB
println("Result \(result)")
}
在Objective-C中,我可以仅在文件顶部声明函数头,并在代码结尾处定义该函数。因此,我的示例的第二个版本也可以工作。在Swift中我能做到这一点吗?我在文档中没有找到任何信息。编辑:
andyvn22写道,这只会在playground中发生,而不会在实际项目中发生,所以我尝试了一下。只是一个带有函数的简单命令行工具。我收到了相同的错误,无法编译。如果我将调用移动到函数定义之后,它就可以正常工作。
func addValues(Double,Double)
。 - nhgrif