正如我们所知,Go 不支持可选参数,但是,在使用通道和更具体的缓冲通道时,我意识到make函数确实接受缓冲区大小的可选参数。如果 Go 团队不喜欢可选参数,那么我有点困惑,那么为什么他们支持一个经常与这种反模式一起使用的函数?好吧,为了不偏离原来的问题太多,谁能帮忙解释一下,在幕后,这是如何工作的?
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
make
不是正常功能。new
, len
, cap
, close
, append
和其他一些都不是。这些是内置函数。
大多数内置函数和运算符被编译器重写以调用运行时包中的正常函数。
对于通道,编译器将调用重写为对runtime.makechan或相关变体之一的make
调用。
普通函数不能有可选参数。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消