Sobes.tech

Golang

¿Cuál de los siguientes fragmentos de código contiene un error o problema potencial relacionado con el trabajo con canales? Opción 1 package main func main() { ch := make(chan int) ch <- 1 } Opción 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Opción 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Opción 4 package main func main() { ch := make(chan int) close(ch) <-ch } Opción 5 package main func main() { ch := make(chan int, 3) ch <- 4 }

Senior
199

¿Podría contarme sobre su experiencia trabajando con proyectos de código abierto y dar ejemplos de sus contribuciones a ellos?

Senior
193

¿Se puede pasar una cantidad arbitraria de argumentos a una función?

Junior
146

¿Cómo se desplegaron? ¿Pasos en el pipeline?

Senior
143

¿Existe tipificación dinámica en Go?

Junior
141

¿Qué en Go garantiza la seguridad de los hilos (thread safety)?

Junior
133

¿Cuáles son las formas de declarar un WaitGroup? ¿Cómo escribir un valor en un canal?

Senior
130

¿Cómo fueron las pruebas en la pipeline de CI/CD? ¿Qué se monitoreaba?

Senior
98

¿Qué devuelve el rango de canales? ¿Es válida la declaración: for _, c := range chs?

Senior
93

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