Как процедура определяется как ближняя или дальняя?
Разница между ближними и дальними функциями существенна только при использовании оператора defer для обработки паники или закрытия ресурсов в конце функции. Когда встречается оператор отсрочки, среда выполнения Go помещает переменную в стек, в котором хранится функция, отвечающая за обработку отсрочки. Если отложенная функция находится рядом, то переменная будет хранить указатель на функцию в том же пакете Go. Если отложенная функция находится далеко, то в переменной будет храниться указатель на функцию-заглушку, которая будет вызывать дальнюю функцию посредством межпакетного вызова.
Вызовы между пакетами обходятся дороже, чем вызовы внутри пакета, поэтому обычно предпочтительнее использовать функции close, когда это возможно. Это можно сделать, организовав код в пакеты таким образом, чтобы функции, которые вам нужно использовать вместе, определялись в одном пакете.
-
Как запрограммировать универсальный пульт дистанционного управления Jumbo
-
Как создать флаер мероприятия с помощью Документов Google
-
Что такое порт восходящей связи SFP?
-
Должна ли туалетная бумага лежать сверху или снизу? Исследование выявило самые противоречивые привычки австралийцев в туалете
- Можно ли использовать зеркальный объектив Minolta с цифровыми зеркальными камерами Nikon или Canon?
- Совместим ли объектив Canon AE-1 с любой цифровой зеркальной камерой?
- Канон многообразия — это канонический налог или нет?
- Фирма Oakley вложила много времени и денег в создание лучшей программы по производству линз?
- Как установить визуальной индикации глиссады