Что будет в консоли и почему?
Условие
Заголовок раздела «Условие»Что будет в консоли и почему?
type TicketOffice struct { tickets int}
func (t *TicketOffice) SellTicket() bool { if t.tickets > 0 { t.tickets-- return true } return false}
func main() { runtime.GOMAXPROCS(runtime.NumCPU())
ticketOffice := TicketOffice{tickets: 10} var wg sync.WaitGroup wg.Add(5)
for i := 0; i < 5; i++ { go func(id int) { defer wg.Done() for j := 0; j < 5; j++ { time.Sleep(time.Duration(rand.Intn(500)) * time.Millisecond) if ticketOffice.SellTicket() { fmt.Printf("Касса %d: продала билет\n ", id) } else { fmt.Printf("Касса %d: билеты закончились\n ", id) } } }(i + 1) }
wg.Wait() fmt.Println("Билеты закончились!")}Решение
Заголовок раздела «Решение»Источник: EnjoyPro · 4 кв 2025
← Что будет в консоли и почему? · Все задачи · Go · Что выведет на экран? →