Найти тему
Golang с 0

Go (Golang) с нуля. Урок 5 - Функции

Оглавление

Функция — основной строительный блок программы. Узнаем как их писать и использовать. А еще как можно приготовить еду в языке Go!

Уроки по Go | Golang с 0 | Дзен

Предыдущий урок — Переменные

Продолжаем изучать язык программирования Go и сегодня разберемся, что же такое функция.

В одном из предыдущих уроков, мы провели аналогию между набором действий и функцией на примере перехода дороги со светофором.

Чем больше примеров, тем понятнее

Сегодня возьмем другой пример. Возможно более интересный и повседневный.

Но перед этим вспомни, какую функцию ты уже использовал раньше в своих программах из предыдущих уроков. Если не помнишь, вернись на первый урок и повтори материал.

Приготовление блюда

Напишем функцию для приготовления яичницы
Напишем функцию для приготовления яичницы
Если проголодались лучше поешьте!

Любому блюду требуются ингредиенты. Также и функция требует ингредиенты, но в программировании они называются аргументами или параметрами функции.

Также функции нужно имя. Давайте придумаем ей имя.

MakeFood, по-моему, отличное название.

Для определения функции мы используем ключевое слово

func

Сокращение от function, чтобы легче и быстрее писать код

Пусть наша функция будет готовить яичницу из двух яиц. Значит ей нужны два аргумента одинакового типа.

Определение функции MakeFood
Определение функции MakeFood

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

После того как перечислили аргументы, можно писать код приготовления нашего блюда. Этот код помещается в фигурных скобках. В нем можно использовать другие блоки программы, такие как переменные и другие функции.

На скриншоте приведен код функции вместе с ее телом:

-4

Обратите внимание на последний оператор

return

Он нужен, чтобы функция вернула результат.

Кроме него наша функция вызывает другие функции:

  • breakEgg
  • putToOwen
  • wait

Код для них приводить мы пока не будем. Здесь главное уловить суть, как пишется определение функции.

Набор из входных аргументов и возвращаемых значений называют сигнатурой функции.

MakeFood - это пример относительно сложной функции.

Давайте упростим пример.

Напишем простую функцию — чтобы она помещалась на несколько строк.

Функция должна умещаться на экран монитора
Иначе, нужно разбить ее на мелкие функции
Так код будет гораздо более понятным и читабельным

Сложение двух чисел

-5

Функция принимает два аргумента a, b - оба имеют тип целое число (int).

Sum возвращает целое число, так как сумма двух целых чисел тоже есть целое число.

Полный код программы

-6

В функции main мы вызываем нашу новую функцию Sum два раза.

В первом случае передаем аргументы из других переменных a, b.

Во втором передаем аргументы сразу, не создавая дополнительных переменных.

Возвращаемый результат мы выводим на экран с помощью встроенной функции Println, которую рассматривали ранее во втором уроке.

Еще можно представить функцию схематически в виде блока:

-7

Практика

Переходи по ссылке и пройди практику по данному уроку в обучающей онлайн — платформе Stepik.

Функции

Самостоятельная работа

1) Напишите функцию, которая возводит число в квадрат

2) Напишите функцию, которая вычисляет произведение двух чисел

К функциям мы вернемся еще не раз.

Наряду с переменными - это основной инструмент при написании любых программ на Go

В следующем уроке разберем условные операторы if, else, else if.

До встречи в следующем уроке!