Основные операции:
ch := make(chan int) // создание небуферизованного
ch := make(chan int, 10) // буферизованный на 10
ch <- 42 // отправка (блокирует если буфер полон)
val := <-ch // чтение (блокирует если пусто)
close(ch) // закрытие
Дополнительно:
val, ok := <-ch— проверка, закрыт ли каналrange ch— чтение до закрытияselect— мультиплексирование нескольких каналов