Перейти к содержимому

Что выведет программа и почему? Также нужно пофиксить код.

go · puzzlesTinkoff / Тинькофф (T-Bank / Т-Банк) - Платформа1 кв 2025не решено

Что выведет программа и почему? Также нужно пофиксить код.

func main() {
var wc sync.WaitGroup
m:=make(chan string, 3)
mu:=sync.Mutex{}
for i:=0; i<5; i++{
wc.Add(1)
go func(ch chan<-string, i int, group*sync.WaitGroup) {
defer wc.Done()
mu.Lock()
mchm<-fmt.Sprintf("Goroutine %s ", strconv.Itoa(i))
mu.Unlock()
}(m, i, &wc)
}
go func() {
wc.Wait()
close(m)
}()
for v:=range m{
fmt.Println(v)
}
Deadlock из-за бесконечного цикла
for{
select{
case q:=<-m:
fmt.Println(q)
}
}
wc.Wait()
close(m)
}

Источник: Tinkoff / Тинькофф (T-Bank / Т-Банк) - Платформа · 1 кв 2025

← Что выведет программа и почему? Также н… · Все задачи · Go · провести ревью кода. →