Я не мог найти способ создания куска буферизованных каналов в golang. Я знаю, как создать кусочек небуферизованного данный канала, как показано нижеСоздайте кусок буферизованного канала в golang
type ch chan int
channels := make([]ch,5)
Я не мог найти способ создания куска буферизованных каналов в golang. Я знаю, как создать кусочек небуферизованного данный канала, как показано нижеСоздайте кусок буферизованного канала в golang
type ch chan int
channels := make([]ch,5)
Это утверждение channels := make([]ch,5)
просто выделяя контейнер (кусочек каналов, который имеет длину 5). В дополнение к этому вы должны инициализировать каждый канал индивидуально, который будет, когда вы объявите их как буферизированные, а не небуферизованные. Таким образом, расширяя ваш пример, просто выполните это:
for i, _ := range channels {
channels[i] = make(chan int, BufferSize)
}
Тип среза не определяет, буферизовано оно или нет; это определяется, когда вы «делаете» канал. –