为什么var sw sync.WaitGroup 可以直接使用,而不用new
来源:11-2 使用Channel等待任务结束

weibo_北桥_03164202
2020-05-02
为什么var sw sync.WaitGroup 可以直接使用,而不用new
写回答
1回答
-
ccmouse
2020-05-05
go语言中有不少类型都可以直接使用而不用new。
WaitGroup本身是一个结构体,当我们说var sw sync.WaitGroup的时候,系统必须为sw分配内存,存放数据。只是存放的数据都是“零”值。也就是里面的整数字段是0,字符串字段是""等。WaitGroup的成员函数只要能正确处理“零”值即可。
这区别于指针,如果我们说var sw *sync.WaitGroup,那这个sw就指向了空(nil)。就有可能不能直接使用了。
00
相似问题
关于函数里指针的使用
回答 2
使用者定义接口,实现者实现功能
回答 1