Возвращение результатов функций в Objective-C

Возвращение результатов функций в Objective-C

Как и методы, функции могут возвращать значение. Тип значения, возвращаемого с помощью оператора return, должен быть согласован с типом возвращаемого значения, объявленного для этой функции. В объявлении функции, которое начинается с:

содержится определение функции с именем kmh_to_mph, которая принимает один аргумент типа float с именем km_speed и возвращает значение тоже типа float. Аналогичным образом:

определяет функцию gcd(наибольший общий делитель) с целыми аргументами u и v и возвращает целое значение.

В программе 1.4 функции передаются два аргумента в виде двух чисел, для которых нужно определить их наибольший общий делитель(gcd, greatest common divisor).

Программа 1.4:

Вывод программы 1.4:

Функция gcd принимает два целых аргумента. Данная функция имеет доступ к этим аргументам через имена формальных параметров u и v.

После объявления переменной temp типа int программа выводит на терминал значения аргументов u и v вместе с соответствующим сообщением. Затем функция вычисляет и возвращает наибольший общий делитель этих двух целых чисел.

В строке:

происходит вызов функции gcd с аргументами 150 и 35 и сохранение значения, которое возвращает функция, в переменной result.

Если не указан тип возвращаемого значения функции, компилятор предполагает, что функция возвращает целое значение(если она вообще возвращает значение).

Многие программисты не указывают тип возвращаемого значения, если функция должна возвращать целые значения. Однако такой подход противоречит практике надежного программирования.

Компилятор предупредит, что для возвращаемого значения задан по умолчанию тип int, но это признак того, что вы делаете что-то неверно.

Тип по умолчанию для возвращаемого значения отличается от методов. Если для метода не указан тип возвращаемого значения, компилятор предполагает, что метод возвращает типа id. Но для метода тоже следует указывать тип возвращаемого значения.

One thought on “Возвращение результатов функций в Objective-C

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *