channels

cómo detener un goroutine

Tengo un goroutine que llama a un método, y pasa el valor devuelto en un canal: ch := make(chan int, 100) go func(){ for { ch <- do_stuff() } }() ¿Cómo puedo detener tal goroutine?

Son canales pasados por referencia implícitamente

El go tour tiene este ejemplo para los canales: https://tour.golang.org/concurrency/2 package main import "fmt" func su ... te, c se pasó por referencia, pero no se creó ningún puntero a c. ¿Los canales se pasan implícitamente por referencia en go ?

Por qué usar un canal sin búfer en el mismo goroutine da un punto muerto

Estoy seguro de que hay una explicación simple a esta situación trivial, pero soy nuevo en el modelo de concurrencia go. Cua ... uevo, ¿por qué ? Por favor, necesito una explicación profunda , no solo cómo eliminar el punto muerto y arreglar el código.