• Задача
  • Решение
  • Обсуждение

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
}

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки