Сколько емкости осталось в моем канале?


Есть ли способ узнать, сколько памяти осталось в моем асинхронном канале в Go?

Например

a chan uint=make(chan bool, 5)
a<-true
fmt.Printf(a.capazity())
1 4

1 ответ:

Например,

package main

import "fmt"

func main() {
    a := make(chan bool, 5)
    a <- true
    fmt.Println(cap(a) - len(a))
}

Вывод:

4