Закрытия в Го
Автор: Gary Clarke
Загружено: 2026-01-26
Просмотров: 116
Описание:
В этом уроке Go Byte вы узнаете о замыканиях. Замыкание — это функция, которая может получать доступ к переменным из области видимости, в которой она была создана, даже после того, как эта область видимости завершилась. Замыкания основаны на значениях функций и анонимных функциях, и они позволяют запоминать состояние между вызовами, избегать глобальных переменных и писать более гибкий код.
Что вы узнаете:
Что такое замыкания и как они захватывают переменные из окружающей области видимости
Как захваченные переменные запоминаются между вызовами функций
Как возвращать замыкания из функций
Почему каждое замыкание имеет собственное независимое состояние
Как замыкания помогают избегать глобальных переменных и сохранять состояние локальным
Концептуальное объяснение:
Замыкание — это функция, которая захватывает переменные из окружающей области видимости. Эти переменные не копируются; функция сохраняет ссылку на них. Поэтому, когда вы вызываете функцию позже, она по-прежнему видит и может обновлять те же переменные. Вы можете возвращать замыкания из других функций, и каждое возвращенное замыкание сохраняет свое собственное захваченное состояние. Это делает замыкания полезными для таких вещей, как счетчики, сумматоры и другое поведение, которому необходимо запоминать значения между вызовами. Как это работает:
Замыкания напрямую основаны на значениях функций и анонимных функциях. Поняв их, вы сможете использовать вспомогательные функции с сохранением состояния без глобальных переменных, и вы узнаете этот шаблон во многих API и библиотеках Go.
Ключевые выводы:
Замыкания захватывают переменные из области видимости, где они были созданы
Захваченные переменные запоминаются между вызовами, а не копируются
Замыкания могут возвращаться из функций
Каждое замыкание имеет собственное независимое состояние
Замыкания помогают избежать использования глобальных переменных и сохранять состояние локальным
Перед тем, как посмотреть решение, попробуйте выполнить задание из видео.
Ссылки:
Папка с уроками на GitHub: https://github.com/GaryClarke/go-byte...
Создайте своё первое приложение на Go вместе со мной: https://www.garyclarke.tech/p/build-y...
Подпишитесь на рассылку, чтобы получать новые уроки и ресурсы: https://content.garyclarke.tech/go-by...
Подписывайтесь на нас в Twitter: / garyclarketech
Свяжитесь с нами в LinkedIn: / garyclarketech
Подпишитесь на канал, чтобы получать больше уроков по Go.
#golang #go #programming #coding #learnprogramming #gobytes
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: