🥇 Iterar canal.

Es posible proteger un canal en cierto momento de la ejecución. Esto quiere decir que el canal se cierra, y no es posible agregar mas elementos.

Otra posibilidad, es iterar el buffer del canal.

package main

import (
    "fmt"
)

func main() {
    noticias := make(chan string, 3)
    noticias <- "Francia tendra elecciones el dia de hoy"
    noticias <- "En una votación cerrada Macron gana la presidencia"
    noticias <- "Macron es el nuevo presidente de Francia"
    close(noticias)
    for noticia := range noticias {
        fmt.Println(noticia)
    }
}

En el ejemplo anterior…

Si se intenta agregar otro string al canal noticias una vez cerrado, el compilador mostrará una excepción.

panic: send on closed channel
Canales y buffers. Canales como argumentos.
comments powered by Disqus