OpenAll: анонимная функция
Решите ту же проблему, не заводя именованную функцию: оберните тело цикла в анонимную функцию с немедленным вызовом и поставьте defer внутри неё.
Показать решение
GolangРешение
func openAll(paths []string) []string {
log := []string{}
for _, path := range paths {
func() {
log = append(log, "открыт "+path)
defer func() { log = append(log, "закрыт "+path) }()
}()
}
return log
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн