初学Golang:channel的使用
Code Speaks:
package main import "fmt" /** * 发送消息 * @param pings chan<- string, msg string * @return */ func ping(pings chan<- string, msg string) { pings <- msg } /** * 接收消息 * @param pings <-chan string, pongs chan<- string * @return */ func pong(pings <-chan string, pongs chan<- string) { msg := <-pings pongs <- msg } /** * main函数调用 * @return */ func main() { //发送类型 var pings chan<- string //接收类型 var pongs <-chan string //发送 ping(pings, "passed message") //接收 pong(pings, pongs) fmt.Println(<-pongs) } passed message
Golang channel的使用主要通过 '<-' 操作符实现,发送时作为二元操作符,接收时作为一元操作符
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~