Функция — основной строительный блок программы. Узнаем как их писать и использовать. А еще как можно приготовить еду в языке Go!
Предыдущий урок — Переменные
Продолжаем изучать язык программирования Go и сегодня разберемся, что же такое функция.
В одном из предыдущих уроков, мы провели аналогию между набором действий и функцией на примере перехода дороги со светофором.
Чем больше примеров, тем понятнее
Сегодня возьмем другой пример. Возможно более интересный и повседневный.
Но перед этим вспомни, какую функцию ты уже использовал раньше в своих программах из предыдущих уроков. Если не помнишь, вернись на первый урок и повтори материал.
Приготовление блюда
Если проголодались лучше поешьте!
Любому блюду требуются ингредиенты. Также и функция требует ингредиенты, но в программировании они называются аргументами или параметрами функции.
Также функции нужно имя. Давайте придумаем ей имя.
MakeFood, по-моему, отличное название.
Для определения функции мы используем ключевое слово
func
Сокращение от function, чтобы легче и быстрее писать код
Пусть наша функция будет готовить яичницу из двух яиц. Значит ей нужны два аргумента одинакового типа.
Аргументы перечисляются через запятую. Они отделены от названия функции с помощью круглых скобок.
После того как перечислили аргументы, можно писать код приготовления нашего блюда. Этот код помещается в фигурных скобках. В нем можно использовать другие блоки программы, такие как переменные и другие функции.
На скриншоте приведен код функции вместе с ее телом:
Обратите внимание на последний оператор
return
Он нужен, чтобы функция вернула результат.
Кроме него наша функция вызывает другие функции:
- breakEgg
- putToOwen
- wait
Код для них приводить мы пока не будем. Здесь главное уловить суть, как пишется определение функции.
Набор из входных аргументов и возвращаемых значений называют сигнатурой функции.
MakeFood - это пример относительно сложной функции.
Давайте упростим пример.
Напишем простую функцию — чтобы она помещалась на несколько строк.
Функция должна умещаться на экран монитора
Иначе, нужно разбить ее на мелкие функции
Так код будет гораздо более понятным и читабельным
Сложение двух чисел
Функция принимает два аргумента a, b - оба имеют тип целое число (int).
Sum возвращает целое число, так как сумма двух целых чисел тоже есть целое число.
Полный код программы
В функции main мы вызываем нашу новую функцию Sum два раза.
В первом случае передаем аргументы из других переменных a, b.
Во втором передаем аргументы сразу, не создавая дополнительных переменных.
Возвращаемый результат мы выводим на экран с помощью встроенной функции Println, которую рассматривали ранее во втором уроке.
Еще можно представить функцию схематически в виде блока:
Практика
Переходи по ссылке и пройди практику по данному уроку в обучающей онлайн — платформе Stepik.
Самостоятельная работа
1) Напишите функцию, которая возводит число в квадрат
2) Напишите функцию, которая вычисляет произведение двух чисел
К функциям мы вернемся еще не раз.
Наряду с переменными - это основной инструмент при написании любых программ на Go
В следующем уроке разберем условные операторы if, else, else if.