Sobes.tech

Төмендегі код үзінділерінің қайсысы каналдармен жұмыс істеуге байланысты қате немесе әлеуетті мәселені қамтиды? 1-ші нұсқа package main func main() { ch := make(chan int) ch <- 1 } 2-ші нұсқа package main func main() { ch := make(chan int, 1) ch <- 1 } 3-ші нұсқа package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } 4-ші нұсқа package main func main() { ch := make(chan int) close(ch) <-ch } 5-ші нұсқа package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
207

Ашық кодты жобалармен жұмыс тәжірибеңіз туралы айта аласыз ба және сіздің үлестеріңізді мысалдармен келтіре аласыз ба?

Senior
196

Функцияға кез келген санды аргументтерді беру мүмкін бе?

Junior
151

Қалай орналастырасыз? Pipeline-да қандай қадамдар бар?

Senior
145

Go тілінде динамикалық типтеу бар ма?

Junior
143

Go-да неғұрлым қауіпсіздік (thread safety) қамтамасыз ететін нәрсе не?

Junior
133

WaitGroup-ты жариялаудың қандай жолдары бар? Каналға мәнді қалай жазуға болады?

Senior
130

CI/CD құбырында тесттер қалай өтті? Не бақылау жүргізілді?

Senior
99

Каналдардың диапазоны не қайтарады? 'for _, c := range chs' жазуы дұрыс па?

Senior
95

func fanin[T кез келген](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }

Senior
87