Что выведет программа и почему? Также нужно пофиксить код.
Условие
Заголовок раздела «Условие»Что выведет программа и почему? Также нужно пофиксить код.
func main() {var wc sync.WaitGroupm:=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 · провести ревью кода. →