Я знаю, что смысл (пустоты) в Objective C, но я хочу знать, что это средняя часть этого кода:что среднее значение пустоты -> (пустоты) в быстрой
(void) -> (void)
в стриже.
Я знаю, что смысл (пустоты) в Objective C, но я хочу знать, что это средняя часть этого кода:что среднее значение пустоты -> (пустоты) в быстрой
(void) -> (void)
в стриже.
() ->()
только что означает Void -> Void
- замыкание, которое не принимает параметров и не имеет возвращаемого значения.
В Swift пустое является тиалиасом для пустого кортежа,().
typealias Void =()
Пустой тип кортежа.
Это возвращаемый по умолчанию тип функций, для которых не указан явный тип возвращаемого значения.
Для примера
let what1: Void->Void = {} or let what2: Int->Int = { i in return i }
являются корректными выражениями с различными типами. Поэтому печать имеет тип ()->() (aka Void->Void)
. Строго говоря, printThat имеет типа (() ->()) ->() (aka (Void->Void)->Void
Пустоты функции не имеет много смысла как функция Int и т.д ... Каждая функция в Swift имеет тип, состоящую из типов параметра функции и типа возвращаемого значения.
Наконец, что касается «ничтожных» функций, обратите внимание, что нет никакой разницы между этими двумя функциональными сигнатурами:
func myFunc(myVar: String) // implicitly returns _value_ '()' of _type_()
func myFunc(myVar: String) ->()
Как ни странно, вы можете иметь дополнительный пустой тип кортежа, поэтому ниже функция отличается от два выше:
func myFunc(myVar: String) ->()? {
print(myVar)
return nil
}
var c = myFunc("Hello") /* side effect: prints 'Hello'
value: nil
type of c:()? */
То же, что и Swift mean.No параметр нет возвращаемого значения.
Приятное объяснение! Спасибо за ясное сомнение. –