Sobes.tech

Ποιο από τα παρακάτω τμήματα κώδικα περιέχει σφάλμα ή πιθανό πρόβλημα που σχετίζεται με τη δουλειά με κανάλια; Επιλογή 1 package main func main() { ch := make(chan int) ch <- 1 } Επιλογή 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Επιλογή 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Επιλογή 4 package main func main() { ch := make(chan int) close(ch) <-ch } Επιλογή 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
218

Μπορείτε να μιλήσετε για την εμπειρία σας με έργα ανοιχτού κώδικα και να δώσετε παραδείγματα των συνεισφορών σας;

Senior
205

Μπορεί να περάσει κανείς αυθαίρετο αριθμό επιχειρημάτων σε μια συνάρτηση;

Junior
184

Τι στο Go διασφαλίζει την ασφάλεια των νημάτων (thread safety);

Junior
172

Υπάρχει δυναμικός τύπος στο Go;

Junior
151

Πώς αναπτύχθηκαν; Βήματα στο pipeline;

Senior
151

Ποιοι είναι οι τρόποι δήλωσης ενός WaitGroup; Πώς γράφουμε μια τιμή σε ένα κανάλι;

Senior
138

Τι επιστρέφει η περιοχή των καναλιών; Είναι έγκυρη η δήλωση: for _, c := range chs;

Senior
127

Πώς διεξάγονταν τα τεστ στην pipeline CI/CD; Τι παρακολουθούνταν;

Senior
103

func fanin[T οποιοσδήποτε](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
99