type Chan … type ChanDir … const SendRecv … const SendOnly … const RecvOnly … // NewChan returns a new channel type for the given direction and element type. func NewChan(dir ChanDir, elem Type) *Chan { … } // Dir returns the direction of channel c. func (c *Chan) Dir() ChanDir { … } // Elem returns the element type of channel c. func (c *Chan) Elem() Type { … } func (c *Chan) Underlying() Type { … } func (c *Chan) String() string { … }