channel数组的创建

来源:11-1 channel

qq_白澤_0

2021-06-26

声明时不就有初始值吗?为什么还需要再次循环创建。
图片描述

还有一个问题,发和收的定义是通用的吗?针对channel所讲?箭头指向其实很明确的,但是对于读法和叫法比较乱。
chan<-是通入口,叫收还是发?
<-chan是通道出口,同理如何讲收发?

其次,双通道和单通道使用时有没有技巧?是每个通道都明确了好,还是在参数或者返回值时规定?

写回答

2回答

hen_nam

2021-12-26

var c chan int

已声明但未初始化的通道不能发送和接收数据

c<-:发送数据

<-c:接收数据

0
0

ccmouse

2021-06-27

channel的初始值是nil,需要手动创建。

箭头指向的叫法的确没有一个标准,通常叫只收,只发。可能中文有些拗口,英文的话,send-only, receive-only

通道是否要明确方向,都是在参数或返回值时指定的。每个channel都是一边收一边发,然后作为参数或者返回值的时候,告诉他你只能收,你只能发。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程