Выбор получателей
Часть раздела Логика и управление потоком путешествия по GO на Coddy. Урок 9 из 68.
Теперь, когда ты понимаешь разницу между получателями-значениями и получателями-указателями, главный вопрос заключается в следующем: когда использовать каждый из них? Выбор зависит от того, что метод должен делать с получателем.
Используй получатель-указатель, когда методу нужно изменить исходную структуру. Поскольку получатели-указатели работают с фактическим экземпляром структуры, любые изменения, внесённые внутри метода, сохраняются после его завершения. Это важно для методов, которые обновляют поля, изменяют состояние или выполняют операции, влияющие на исходные данные.
Используй получатель-значение, если методу нужно только читать данные из структуры, не изменяя их. Получатели-значения работают с копией, поэтому они идеально подходят для методов, которые вычисляют значения, форматируют вывод или выполняют любые операции, не требующие изменения исходной структуры. Они также обеспечивают безопасность, гарантируя, что исходные данные останутся неизменными.
Как правило: если ваш метод изменяет структуру, используйте указатель в качестве получателя. Если метод только читает данные структуры, используйте получатель-значение. Такой подход делает намерения вашего кода понятными и помогает предотвратить непреднамеренное изменение данных.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутое управление потоком
Оператор switch с `fallthrough`Выход из вложенных цикловПереход к следующей итерации конкретного циклаОператор `goto`Повторение: расширенное управление циклами4Проект: простой список задач
Настройка проектаДобавление задачи2Структуры и методы
Определение методов для структурПолучатели-значенияПолучатели-указателиВыбор получателейМетоды и функцииПовторение: поведение структур5Карты: подробный разбор
Карты структурУказатели как значения картПроверка карт на nilСравнение картПовторение — счётчик частоты слов8Проект: простой складской учёт
Обзор проектаПроверка запасов3Интерфейсы (основы)
Что такое интерфейс?Определение интерфейсаРеализация интерфейсаИспользование типов интерфейсовПустой интерфейсУтверждения типовПереключатель типовПовторение — формы и поведениеПотренируйтесь самостоятельно: Онлайн-компилятор Go