1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> оптика >> Телескопы

Как процедура определяется как ближняя или дальняя?

Процедура определяется как близкая или далекая в зависимости от местоположения вызываемой функции. Если функция определена в том же пакете Go, что и вызывающий ее код, то функция считается ближайшей. Если функция определена в другом пакете Go, то функция считается далекой.

Разница между ближними и дальними функциями существенна только при использовании оператора defer для обработки паники или закрытия ресурсов в конце функции. Когда встречается оператор отсрочки, среда выполнения Go помещает переменную в стек, в котором хранится функция, отвечающая за обработку отсрочки. Если отложенная функция находится рядом, то переменная будет хранить указатель на функцию в том же пакете Go. Если отложенная функция находится далеко, то в переменной будет храниться указатель на функцию-заглушку, которая будет вызывать дальнюю функцию посредством межпакетного вызова.

Вызовы между пакетами обходятся дороже, чем вызовы внутри пакета, поэтому обычно предпочтительнее использовать функции close, когда это возможно. Это можно сделать, организовав код в пакеты таким образом, чтобы функции, которые вам нужно использовать вместе, определялись в одном пакете.

  1. Можно ли использовать зеркальный объектив Minolta с цифровыми зеркальными камерами Nikon или Canon?
  2. Совместим ли объектив Canon AE-1 с любой цифровой зеркальной камерой?
  3. Канон многообразия — это канонический налог или нет?
  4. Фирма Oakley вложила много времени и денег в создание лучшей программы по производству линз?
  5. Как установить визуальной индикации глиссады