为了账号安全,请及时绑定邮箱和手机立即绑定

括号里填0与大于0的数为啥输出结果相反?

括号里填0与大于0的数为啥输出结果相反?

正在回答

4 回答

在真机上运行结果是正常的。可断定是远程服务器的问题。望采纳

2 回复 有任何疑惑可以回复我~
#1

上古神龙 提问者

非常感谢!
2016-04-11 回复 有任何疑惑可以回复我~
#2

上古神龙 提问者

不是啊,我电脑编辑器运行的结果是相反的
2016-04-13 回复 有任何疑惑可以回复我~

不懂不要瞎回答,本来填0和大于0的数运行结果就应该是相反的。

如果填的是0,代表`myChannel`是一个非缓存通道。发送方在向通道值发送数据的时候会立即被阻塞,直到有某一个接收方已从该通道值中接收了这条数据。

所以在第一个匿名函数执行到`sender <- number`语句之后,便被阻塞了,这时第二个匿名函数开始被执行。等到语句`fmt.Println("Received!", <-receiver)`被执行之后,通道内的值被清空了,`sender <- number`之后的语句继续被执行。所以就会看到

Received! 6
Sent!

这根python中的协程coroutine是类似的

2 回复 有任何疑惑可以回复我~

那是因为代码的先后。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

括号里填0与大于0的数为啥输出结果相反?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信