初学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的使用主要通过 '<-' 操作符实现,发送时作为二元操作符,接收时作为一元操作符

posted @ 2016-10-26 14:49  小天儿  阅读(182)  评论(0)    收藏  举报