разблокировка загадок Go: Примеры и идиомы
, когда вы углубитесь в интригующий мир Go, очень важно понять оба синтаксиса и его нюансы. Эта статья направлена на то, чтобы предоставить осветительные примеры и идиомы для расширения возможностей вашего мастерства Go.
. Одна замечательная идиома - это утверждение «отсрочки». Как предполагает его название, «DEFE» открывает выполнение функции, пока окружающая функция не вернется. Это позволяет вам выполнять задачи очистки или обрабатывать ошибки высокоэффективным и предсказуемым образом. С "отложением" разблокировка может быть удобно запланировано:
lock (l) DEFER Разблокировка (l)
lock(l) defer unlock(l)
для i: = 0; i & lt; = 3; я { Defer fmt.print (i) } // Вывод: 3 2 1 0
for i := 0; i <= 3; i { defer fmt.Print(i) } // Output: 3 2 1 0
func f () { defer func () { Если r: = record (); r! = nil { fmt.println ("восстановлен в f", r) } } () g (0) }
func f() { defer func() { if r := recover(); r != nil { fmt.Println("Recovered in f", r) } }() g(0) }]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3