Press "Enter" to skip to content

Defer — Go Lang Practical Programming Tutorial p.20


то, что происходит, все приветствуют
часть 20 языкового программирования
учебник в этом учебнике, что
мы будем говорить о является
заявление defer в ingo, так что мы
в последнем учебнике говорилось
эй мы используем такой вес
группа и все это, и это действительно круто
но что, если мы столкнемся с чем-то, что
приводит к ошибке этой функции, и мы
на самом деле не узнаете вес
группа, мы закончили хорошо, тогда мы
у нас будет проблема, мы собираемся
ждет все в порядке , и мы не хотим , чтобы
так что это не проблема, что вы
собираюсь встретить только что
подпрограммы и весовые группы, например
когда вы хотите закрыть соединения, когда
вы закончили или закроете файлы или что-то еще
если вы нанесете ошибку, прежде чем
одежду, на которой вы никогда не собираетесь
запустить эту операцию таким образом , в ходе у них есть
заявление отсрочки, так что идея отложить
это будет оцениваться всякий раз, когда он получает
ударил, но на самом деле заявление о переносе
не будет запускать все, что откладывается
пока окружающая функция не будет
завершает или паникует, так что если if
как только он будет оценен, если
функция случается паника из всех
отсроченные функции будут выполняться так, если
это ошибка , или если он не поражал
ошибка в основном, когда эта функция
все сделано и сделано, это собирается идти вперед
и выполняйте все, что вы решили отложить
Чтобы проиллюстрировать это, я собираюсь идти вперед и
очистите здесь, мы вернемся к
это вы можете посоветовать вам сохранить
это потому, что я просто собираюсь скопировать и
вставьте его, когда мы вернемся к
это, но я просто хочу использовать больше
простой пример на данный момент, так скажем
у нас есть функция, которую мы будем называть foo и
foo в основном просто делает точку формата
печать линии , и вы знаете , что это
функция, которая делает некоторые вещи, которые знают
справа, а затем funk mein может запустить Fuu
хорошо, поэтому, если бы мы хотели, чтобы мы могли
может сказать, хорошо, пока эта функция
делая некоторые вещи, мы хотим убедиться
когда это делается, делая кое-что, что мы хотим
чтобы убедиться, что он работает в формате dot print
линия сделана так, что это будет оценено
немедленно, но это будет запускаться только тогда, когда
остальные функции Foo делается так
позвольте мне потянуть это, и давайте побежим, что
очень быстро, и мы можем видеть, что это говорит
делать что- то, кто знает, что потом
теперь он работает, что если мы добавим
другой, как если бы мы бросили в другой
defer, поэтому мы должны так делать
[Музыка]
мы сделали так, чтобы сначала
работа операторов — первая в последнем
я не уверен, почему они
почему это так, но в основном это
также означает, что последний из них будет первым
что мы увидим, когда мы запустим это
делать что-то
мы сделали, а затем сделали это для
показать, что правильно
так оно и было, поэтому мы могли бы
иллюстрируют, что с помощью цикла for или
что-то вроде этого, например, мы
мы могли бы сказать, что для I двоеточия равняется 0
Ничего себе, я меньше 5, мы могли бы просто сказать
отложить максимум печать строки формата , так сохранить
которые запускают его и, конечно же, в основном
рассчитывает прямо, так что вернемся к нашим
основной пример Я просто собираюсь сделать копию
и вставьте его поверх копии, чтобы это было
наш оригинальный пример, где мы вроде
пришел к этому так, что он работает, и
он ждет так просто , чтобы показать право это просто
запускает эти две процедуры, ждут
их закончить, но если команда ожидания сделана
никогда не бежит, мы в беде так
что мы могли бы сказать, а не бегать
РГ пушки здесь мы просто вырезать , что и
то мы откладываем группу ожидания до вершины
так что тогда мы можем сохранить это, и теперь мы
может повторить функцию или программу и
теперь у нас есть эй, там, эй, эй
там все в порядке , так что, как мы можем отложить
вещи и почему мы, возможно, захотим отложить
вещи, и если мы собираемся говорить
о заявлении отсрочки, мы могли бы как
хорошо поговорим также о панике и о восстановлении
на языке программирования go, поэтому пока
мы можем использовать defer, чтобы убедиться, что- то
мы также можем использовать отсрочку для восстановления
после паники произошло так, что вы
может отложить какую-то функцию, которая
собираюсь справиться с тем, что ошибка была
что мы могли бы на самом деле спрятался тот путь
ваша программа не перестает работать или
по крайней мере, вам не нужно позволять
он перестает работать, но вам не нужно делать
что в любом случае
в следующем уроке, что мы собираемся
говорить о том, что мы не должны
проблема, охватывающая как панику, так и восстановление
в следующих уроках, так что паника — это способ
что мы можем сказать, что мы ошиблись
основанный на каком-то состоянии, поэтому мы
может паниковать, но также, как я говорил
Отсрочка не обязательно выполняется только если
функция успешного отсрочки также будет
все отложенные заявления собираются
если функция также паникует так,
если окружающая функция паникует
все отложенные функции также будут выполняться
поэтому в пределах отложенных
функции можно восстановить с паникой так
в любом случае это то, что мы собираемся поговорить
в следующем учебнике, если у вас есть
вопросы комментарии касается любой
Ливан ниже, иначе я буду
см. в следующем уроке
Please follow and like us:

Be First to Comment

Добавить комментарий