Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据写入go-lang通道的成本?_Go_Channels - Fatal编程技术网

将数据写入go-lang通道的成本?

将数据写入go-lang通道的成本?,go,channels,Go,Channels,我有一个列表(容器/列表),其中包含一个[]字符串。我经常通过一个频道发送这个。我正在努力理解这种交流是多么昂贵。一般情况下,发送时将发送数据的浅拷贝复制到缓冲区,然后在接收时在另一侧重新复制?所以发送和接收并不比浅层复制昂贵?总的来说,有一些陷阱吗 该值被复制到通道中或从通道中复制。如果要发送容器/列表,则。列表元素不会被复制 这是一个肤浅的副本 问题是应用程序必须确保只有一个goroutine修改列表元素。成本和语义与赋值完全相同。所有赋值都是赋值的一个副本,仅此而已。我就是这么想的。锈和C

我有一个
列表
容器/列表
),其中包含一个
[]字符串
。我经常通过一个频道发送这个。我正在努力理解这种交流是多么昂贵。一般情况下,发送时将发送数据的浅拷贝复制到缓冲区,然后在接收时在另一侧重新复制?所以发送和接收并不比浅层复制昂贵?总的来说,有一些陷阱吗

该值被复制到通道中或从通道中复制。如果要发送容器/列表,则。列表元素不会被复制

这是一个肤浅的副本


问题是应用程序必须确保只有一个goroutine修改列表元素。

成本和语义与赋值完全相同。所有赋值都是赋值的一个副本,仅此而已。我就是这么想的。锈和C++有更复杂的行为,所以我只想确定一下。