Sobes.tech

Golang

A következő kódrészletek közül melyik tartalmaz hibát vagy potenciális problémát a csatornákkal való munkában? Változat 1 package main func main() { ch := make(chan int) ch <- 1 } Változat 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Változat 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Változat 4 package main func main() { ch := make(chan int) close(ch) <-ch } Változat 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
200

Tudna beszélni az open source projektekkel kapcsolatos tapasztalatairól, és példákat adni az hozzájárulásaira?

Senior
193

Át lehet adni egy függvénynek tetszőleges számú argumentumot?

Junior
146

Hogyan kerültek telepítésre? Lépések a pipeline-ban?

Senior
143

Van-e dinamik típusosítás a Go-ban?

Junior
141

Mi biztosítja a szálbiztonságot (thread safety) Go-ban?

Junior
133

Hogyan lehet WaitGroup-ot deklarálni? Hogyan írjunk értéket egy csatornába?

Senior
130

Hogyan zajlottak a tesztek a CI/CD pipeline-ban? Mit követtek nyomon?

Senior
98

Mit ad vissza a csatornák tartománya? Érvényes a következő kijelentés: for _, c := range chs?

Senior
93

func fanin[T bármilyen](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
84