channel
定义channel:make(chan类型,容量)
ch:= make ichan string)
写端: ch <- "hehe" 。
写端写数据,读端不在读。阻塞
读端: str := <-ch 。
读端读数据, 同时写端不在写,读端阻塞。
channel同步,数据传递:
写端: ch <- "hehe" 。
写端写数据,读端不在读。阻塞
读端: str := <- ch 。
读端读数据, 同时写端不在写,读端阻塞。
len(ch):channel中剩余未读取数据个数。cap(ch):通道的容量。
无缓冲channel:-同步通信
创建:ch:=make(chanint)或make(chanint0)
通道容量为0,len=0。不能存储数据。
channel应用于两个go程中。一个读,另一个写。
具备同步的能力。 读、写同步。(打电话)
有缓冲channel:-异步通信
创建:ch:=make(chan int5)
通道容量为非0。
len(ch):channel中剩余未读取数据个数。cap(ch):通道的容量。