Методы и функции
Часть раздела Логика и управление потоком путешествия по GO на Coddy. Урок 10 из 68.
Хотя и методы, и функции выполняют операции в Go, они служат разным целям и объявляются по-разному. Понимание этого различия крайне важно для написания понятного и организованного кода.
Функция является самостоятельной и независимой. Она не принадлежит к какому-либо конкретному типу:
func calculateArea(width, height float64) float64 {
return width * height
}Метод привязан к определённому типу через получателя. Он принадлежит этому типу и может обращаться к его данным:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Ключевое различие заключается в том, как их вызывают. Функции вызывают напрямую по имени, а методы вызывают у экземпляров соответствующего типа, используя точечную нотацию. Благодаря этой связи методы отлично подходят для определения поведения, естественным образом присущего вашим пользовательским типам, а функции хорошо подходят для операций общего назначения, которые не нужно связывать с конкретными структурами данных.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутое управление потоком
Оператор switch с `fallthrough`Выход из вложенных цикловПереход к следующей итерации конкретного циклаОператор `goto`Повторение: расширенное управление циклами4Проект: простой список задач
Настройка проектаДобавление задачи2Структуры и методы
Определение методов для структурПолучатели-значенияПолучатели-указателиВыбор получателейМетоды и функцииПовторение: поведение структур5Карты: подробный разбор
Карты структурУказатели как значения картПроверка карт на nilСравнение картПовторение — счётчик частоты слов8Проект: простой складской учёт
Обзор проектаПроверка запасов3Интерфейсы (основы)
Что такое интерфейс?Определение интерфейсаРеализация интерфейсаИспользование типов интерфейсовПустой интерфейсУтверждения типовПереключатель типовПовторение — формы и поведениеПотренируйтесь самостоятельно: Онлайн-компилятор Go