在相同功能中使用通道发送和接收

时间:2016-04-25 16:32:05

标签: go

如何在同一个功能中创建一个双向通道(我不知道这是否是正确的术语)。如果我有以下代码,那么:

func server (a <-chan string) {
    data:= <-a
    // now is there a way I can send data through the same channel
    // data <- "yet another string"
}  

还有其他方法可以实现吗?感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在上面提到的代码中,带通道的方向指针限制函数在该通道上执行任何其他活动,而不是允许的那个。所以,做到:

func server (a chan string) {

而不是

func server (a <-chan string) {

将允许函数通过同一个通道发送和接收数据。