Если я запускаю этот код на игровой площадке Swift, он работает нормально. Функция определяется до ее вызова.
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 написал, что это произойдет только на игровой площадке, а не в реальных проектах, поэтому я попробовал. Просто простой инструмент командной строки с функцией. Я получаю ту же ошибку, и она не будет компилироваться. Если я перемещаю вызов после определения функции, он работает нормально.