Sobes.tech

Golang

Kuris iš šių kodų fragmentų turi klaidą arba potencialią problemą, susijusią su kanalų darbu? 1 variantas package main func main() { ch := make(chan int) ch <- 1 } 2 variantas package main func main() { ch := make(chan int, 1) ch <- 1 } 3 variantas package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } 4 variantas package main func main() { ch := make(chan int) close(ch) <-ch } 5 variantas package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
200

Ar galėtumėte papasakoti apie savo patirtį dirbant su atviro kodo projektais ir pateikti pavyzdžių apie savo indėlį į juos?

Senior
193

Ar galima funkcijai perduoti bet kokį argumentų skaičių?

Junior
146

Kaip buvo diegta? Žingsniai pipeline'e?

Senior
144

Ar Go turi dinaminį tipavimą?

Junior
141

Kas Go užtikrina gijų saugumą (thread safety)?

Junior
133

Kaip deklaruoti WaitGroup? Kaip įrašyti reikšmę į kanalą?

Senior
130

Kaip vyko testai CI/CD pipeline? Kas buvo stebima?

Senior
99

Ką grąžina kanalų intervalas? Ar teisingas yra įrašas: for _, c := range chs?

Senior
94

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