美文网首页
gobyexample-channel-directions

gobyexample-channel-directions

作者: bocsoft | 来源:发表于2018-11-04 14:15 被阅读0次

    来源:https://github.com/xg-wang/gobyexample/tree/master/examples

    //当使用通道作为函数的参数时,你可以指定这个通道是不是只用来
    //发送或者接受值。这个特性提升了程序的类型安全性
    package main
    
    import "fmt"
    
    //`ping` 函数定义了一个只允许发送数据的通道(发送一个新的值到通道)
    func ping(pings chan<- string,msg string)  {
        pings <- msg
    }
    //`pong`函数允许通道('pings')来接收数据(从通道中接受一个值),另一通道(`pongs`)来发送数据
    func pong(pings <-chan string, pongs chan<- string){
        msg := <- pings
        pongs <- msg
    }
    
    func  main(){
        pings := make(chan string,1)
        pongs := make(chan string,1)
        ping(pings,"passed message")
        pong(pings,pongs)
        fmt.Println((<-pongs))
    
    }
    
    

    输出结果:

    passed message
    

    相关文章

      网友评论

          本文标题:gobyexample-channel-directions

          本文链接:https://www.haomeiwen.com/subject/gersxqtx.html