Sobes.tech

Golang

Ktorý z nasledujúcich fragmentov kódu obsahuje chybu alebo potenciálny problém súvisiaci s prácou s kanálmi? Možnosť 1 package main func main() { ch := make(chan int) ch <- 1 } Možnosť 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Možnosť 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Možnosť 4 package main func main() { ch := make(chan int) close(ch) <-ch } Možnosť 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
214

Môžete nám povedať o vašich skúsenostiach s projektmi s otvoreným zdrojom a uviesť príklady vašich príspevkov?

Senior
204

Je možné do funkcie odovzdať ľubovoľný počet argumentov?

Junior
156

Ako boli nasadené? Kroky v pipeline?

Senior
150

Existuje v Go dynamické typovanie?

Junior
147

Čo v Go zabezpečuje bezpečnosť vlákien (thread safety)?

Junior
142

Aké sú spôsoby deklarácie WaitGroup? Ako zapísať hodnotu do kanála?

Senior
133

Čo vracia rozsah kanálov? Je platný zápis: for _, c := range chs?

Senior
125

Ako prebiehali testy v CI/CD pipeline? Čo sa sledovalo?

Senior
101

func fanin[T akýkoľvek](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
98