最赞回答 / 慕圣2123299
因为非缓冲通道不会缓存任何数据,发送方在向通道值发送数据的时候会立即被阻塞,直到有某一个接收方已从该通道值中接收了这条数据。所以myChannel应定义为非缓冲通道,才会在执行接收之后再执行发送的结果。
2018-11-11
大部分语言中都有一下两种变量类型
1. 值变量
值变量储存的是变量的值,在作为函数传递的时候,是会拷贝的,对实参的修改,实际上是对拷贝的修改,不会改变原变量
2.引用变量
引用变量存储的是变量的地址(在没有指针的语言中,可以把它理解为指针),作为函数传递的时候,是不会拷贝的,对实参的修改,直接会改变原变量
总结:
1.struct 是值变量,所以作为参数会拷贝,修改实参并不会影响原参数,这时候如果需要修改原值,必须传递指针(引用变量)
2.在许多语言中都存在 值变量和引用变量,都会出现上诉问题,比较常见的是深拷贝和浅拷贝的问题
1. 值变量
值变量储存的是变量的值,在作为函数传递的时候,是会拷贝的,对实参的修改,实际上是对拷贝的修改,不会改变原变量
2.引用变量
引用变量存储的是变量的地址(在没有指针的语言中,可以把它理解为指针),作为函数传递的时候,是不会拷贝的,对实参的修改,直接会改变原变量
总结:
1.struct 是值变量,所以作为参数会拷贝,修改实参并不会影响原参数,这时候如果需要修改原值,必须传递指针(引用变量)
2.在许多语言中都存在 值变量和引用变量,都会出现上诉问题,比较常见的是深拷贝和浅拷贝的问题
2018-11-09
说多个括号的有点搞笑哦, fmt.Printf("用解释型字符串表示法表示的 %q 所代表的是 %s。\n", str1, (`\"`))
2018-11-04
最赞回答 / up_robin
如果填的是0,代表`myChannel`是一个非缓存通道。发送方在向通道值发送数据的时候会立即被阻塞,直到有某一个接收方已从该通道值中接收了这条数据。所以在第一个匿名函数执行到`sender &ooc- nu...
2018-10-21
已采纳回答 / 慕哥1206660
"_"是匿名变量,被赋值给匿名变量的数据丢弃不处理,匿名变量不占用命名空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。这里是将接口类型断言的返回值赋值给匿名变量。
2018-09-30