HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В Go, как и в других современных языках программирования, можно создавать анонимные функции - функции без имени. Они объявляются прямо на месте и часто используются как вспомогательные: для краткости, конфигурации поведения или передачи логики в другие функции.</p>
1 <p>В Go, как и в других современных языках программирования, можно создавать анонимные функции - функции без имени. Они объявляются прямо на месте и часто используются как вспомогательные: для краткости, конфигурации поведения или передачи логики в другие функции.</p>
2 <p>Эта конструкция определяет функцию, но не вызывает её. Чтобы вызвать такую функцию сразу, нужно добавить круглые скобки:</p>
2 <p>Эта конструкция определяет функцию, но не вызывает её. Чтобы вызвать такую функцию сразу, нужно добавить круглые скобки:</p>
3 <p>Такая запись называется немедленным вызовом анонимной функции (IIFE - immediately invoked function expression).</p>
3 <p>Такая запись называется немедленным вызовом анонимной функции (IIFE - immediately invoked function expression).</p>
4 <h2>Захват внешних переменных (замыкание)</h2>
4 <h2>Захват внешних переменных (замыкание)</h2>
5 <p>Анонимные функции могут использовать переменные, определённые вне их тела:</p>
5 <p>Анонимные функции могут использовать переменные, определённые вне их тела:</p>
6 <p>Функция exclaim() получила доступ к переменной suffix, даже не принимая её как параметр. Это называется замыканием.</p>
6 <p>Функция exclaim() получила доступ к переменной suffix, даже не принимая её как параметр. Это называется замыканием.</p>
7 <h2>Пример на будущее: сортировка с анонимной функцией</h2>
7 <h2>Пример на будущее: сортировка с анонимной функцией</h2>
8 <p>Мы пока не изучали коллекции, но в будущем вы сможете использовать анонимные функции для различных обобщенных задач, таких как сортировка:</p>
8 <p>Мы пока не изучали коллекции, но в будущем вы сможете использовать анонимные функции для различных обобщенных задач, таких как сортировка:</p>
9 <p>Здесь sort.Slice() использует анонимную функцию-компаратор, чтобы определить порядок элементов. Скоро вы узнаете, что такое срезы и как с ними работать.</p>
9 <p>Здесь sort.Slice() использует анонимную функцию-компаратор, чтобы определить порядок элементов. Скоро вы узнаете, что такое срезы и как с ними работать.</p>
10 <h2>Функции, возвращающие другие функции</h2>
10 <h2>Функции, возвращающие другие функции</h2>
11 <p>В Go функция может возвращать другую функцию. Это часто используется для создания замыканий - функций, которые "запоминают" своё окружение.</p>
11 <p>В Go функция может возвращать другую функцию. Это часто используется для создания замыканий - функций, которые "запоминают" своё окружение.</p>
12  
12