Создать часть буферизованного канала в golang

Я не мог найти способ создать часть буферизованных каналов в golang. Я знаю, как создать фрагмент небуферизованного канала, как показано ниже

type ch chan int
channels := make([]ch,5)

1 ответ

Решение

Это утверждение channels := make([]ch,5) просто выделяет контейнер (часть каналов, которая имеет длину 5). В дополнение к этому вы должны инициализировать каждый канал индивидуально, то есть когда вы объявите их буферизованными, а не небуферизованными. Поэтому, продолжая свой пример, просто сделайте это:

for i, _ := range channels {
     channels[i] = make(chan int, BufferSize)
}
Другие вопросы по тегам