Sobes.tech

Golang

Kurš no šiem koda fragmentiem satur kļūdu vai potenciālu problēmu, kas saistīta ar kanālu darbu? 1. variants package main func main() { ch := make(chan int) ch <- 1 } 2. variants package main func main() { ch := make(chan int, 1) ch <- 1 } 3. variants package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } 4. variants package main func main() { ch := make(chan int) close(ch) <-ch } 5. variants package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
214

Vai jūs varētu pastāstīt par savu pieredzi ar atvērtā koda projektiem un sniegt piemērus par jūsu ieguldījumu tajos?

Senior
204

Vai funkcijai var nodot jebkuru argumentu skaitu?

Junior
156

Kā tika izvietots? Soliņi pipeline?

Senior
150

Vai Go ir dinamiskā tipizācija?

Junior
147

Kas nodrošina Go drošību pavedienu līmenī (thread safety)?

Junior
142

Kā deklarēt WaitGroup? Kā ierakstīt vērtību kanālā?

Senior
133

Ko atgriež kanālu diapazons? Vai ir derīga deklarācija: for _, c := range chs?

Senior
124

Kā noritēja testi CI/CD pipeline? Ko uzraudzīja?

Senior
101

func fanin[T jebkāds](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