Sobes.tech

Golang

Milline järgmistest koodilõikudest sisaldab viga või potentsiaalset probleemi kanalitega töötamisel? Variant 1 package main func main() { ch := make(chan int) ch <- 1 } Variant 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Variant 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Variant 4 package main func main() { ch := make(chan int) close(ch) <-ch } Variant 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
205

Kas saaksite rääkida oma kogemustest avatud lähtekoodiga projektidega töötamisel ja tuua näiteid oma panustest?

Senior
196

Kas on võimalik funktsioonile edastada mistahes arv argumente?

Junior
151

Kuidas deploy'iti? Sammud pipeline'is?

Senior
145

Kas Go-s on dünaamiline tüübi määramine?

Junior
143

Mis Go-s tagab thread-turvalisuse (thread safety)?

Junior
133

Kuidas deklareerida WaitGroup? Kuidas kirjutada väärtus kanalisse?

Senior
130

Kuidas toimusid testid CI/CD pipeline'is? Mida jälgiti?

Senior
99

Mida tagastab kanalite vahemik? Kas on kehtiv deklaratsioon: for _, c := range chs?

Senior
95

func fanin[T igas](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