Эйч
Эйч
  • Все менторы
Задачи/Go-разработчик/Прервать выполнение программы

Прервать выполнение программы

Условие задачи

Доработать текущую программу. Если хотя бы один URL возвращает ошибку — остановить выполнение всех остальных горутин и завершить программу.

gopackage main

import (
 "fmt"
 "net/http"
 "sync"
 "time"
)

func main() {
 urls := []string{
  "https://www.lamoda.ru",
  "https://www.yandex.ru",
  "https://www.mail.ru",
  "https://www.google.com",
 }

 wg := &sync.WaitGroup{}

 for _, url := range urls {
  wg.Add(1)
  go func(url string) {
   defer wg.Done()

   fmt.Printf("Fetching %s...\n", url)

   err := fetchUrl(url)
   if err != nil {
    fmt.Printf("Error fetching %s: %v\n", url, err)
    return
   }

   fmt.Printf("Fetched %s\n", url)
  }(url)
 }

 wg.Wait()
 fmt.Println("Program finished.")
}

func fetchUrl(url string) error {
 // _, err := http.Get(url)
 return nil
}

Профессия

Go-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта