Sobes.tech

Golang

Welcher der folgenden Codeausschnitte enthält einen Fehler oder ein potenzielles Problem im Zusammenhang mit der Arbeit mit Kanälen? Option 1 package main func main() { ch := make(chan int) ch <- 1 } Option 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Option 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Option 4 package main func main() { ch := make(chan int) close(ch) <-ch } Option 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
204

Könnten Sie über Ihre Erfahrungen mit Open-Source-Projekten sprechen und Beispiele Ihrer Beiträge nennen?

Senior
194

Kann man einer Funktion eine beliebige Anzahl von Argumenten übergeben?

Junior
150

Wie wurden sie deployed? Schritte im Pipeline?

Senior
145

Gibt es dynamische Typisierung in Go?

Junior
143

Was in Go sorgt für Thread-Sicherheit?

Junior
133

Welche Möglichkeiten gibt es, eine WaitGroup zu deklarieren? Wie schreibt man einen Wert in einen Kanal?

Senior
130

Wie verliefen die Tests in der CI/CD-Pipeline? Was wurde überwacht?

Senior
99

Was gibt der Bereich der Kanäle zurück? Ist die Anweisung: for _, c := range chs gültig?

Senior
95

func fanin[T any](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
87