Sobes.tech

Golang

Aşağıdakı kod parçalarından hansı kanal ilə işləməkdə səhv və ya potensial problem ehtiva edir? Seçim 1 package main func main() { ch := make(chan int) ch <- 1 } Seçim 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Seçim 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Seçim 4 package main func main() { ch := make(chan int) close(ch) <-ch } Seçim 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
216

Açıq mənbə layihələri ilə bağlı təcrübənizdən danışa və onlara verdiyiniz töhfələrdən nümunələr göstərə bilərsinizmi?

Senior
205

Funksiyaya istənilən sayda arqument ötürmək mümkündürmü?

Junior
181

Go-da hansı şeylər iş parçaları təhlükəsizliyini təmin edir?

Junior
162

Necə yerləşdirildi? Pipeline-də addımlar?

Senior
151

Go-da dinamik tipləşdirmə mövcuddurmu?

Junior
150

WaitGroup necə elan edilir? Kanalda necə dəyər yazılır?

Senior
137

Kanal aralığı nə qaytarır? for _, c := range chs bəyanatı düzgündürmü?

Senior
126

CI/CD boru xəttində testlər necə keçdi? Nə izlənilirdi?

Senior
103

func fanin[T hər hansı](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