Dlaczego to blokowanie kodu Go?

Napisałem następujący program:

package main

import (
    "fmt"
)

func processevents(list chan func()) {
    for {
        //a := <-list
        //a()
    }
}

func test() {
    fmt.Println("Ho!")
}

func main() {

    eventlist := make(chan func(), 100)

    go processevents(eventlist)

    for {
        eventlist <- test
        fmt.Println("Hey!")
    }
}

Ponieważ lista zdarzeń kanału jest kanałem buforowanym, myślę, że powinienem uzyskać dokładnie 100 razy więcej niż „Hej!”, Ale jest wyświetlany tylko raz. Gdzie jest mój błąd?

questionAnswers(3)

yourAnswerToTheQuestion