Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Функции без возвращаемых значений
Функции не обязывают указывать тип возвращаемого значения. Вот версия функции скажиПривет, названная скажиПока, которая печатает своё значение с типом String, до того как возвращает его:
func скажиПока(имяПерсоны: String) { println("Пока, \(имяПерсоны)!") } скажиПока("Дэйв") //напечатает "Пока, Дэйв!"
Поскольку нам не нужно возвращать значение, то и описание функции не обязывает указывать ни стрелку (->) ни тип возвращаемого значения.
ВАЖНО: Честно говоря, функция скажиПока всё ещё возвращает значение, даже если это возвращение не объявлено. Функции без объявленных возвращаемых значений всё же возвращают его, но с типом Void (пустота). Просто этой пустой кортеж (tuple) с нулевым количеством элементов, который может быть записан и как ().
Возвращаемое значение может быть проигнорировано когда она вызывается:
func напишиИПосчитай(строкаДляПечати: String) -> Int { println(строкаДляПечати) return countElements(строкаДляПечати) } func напишиБезПосчёта(строкаДляПечати: String) { напишиИПосчитай(строкаДляПечати) } напишиИПосчитай("привет, мир") //напечатает " привет, мир" и вернёт значение 11 напишиБезПосчёта("привет, мир") //напечатает " привет, мир" и не вернёт значения
Первая функция напишиИПосчитай печатает строку и возвращает количество символов в ней с типом Int. Вторая функция напишиБезПосчёта вызывает первую функцию, но не требует возвращения значения (*от переводчика - нет стрелки и типа). Когда вторая функция вызвана, сообщение печатается первой функцией, но возвращённое значение не используется.
ВАЖНО: Возвращаемое значение может быть проигнорировано, но если в определении функции есть ожидание возврата значения то она должна сделать именно так. Функция с объявленным типом возврата не может позволить пройти до её конца без возвращения значения, и такие попытки приведут к ошибке компеляции.
|