为了账号安全,请及时绑定邮箱和手机立即绑定

Go中的make函数如何处理可选参数?

Go中的make函数如何处理可选参数?

Go
跃然一笑 2023-05-22 17:00:14
正如我们所知,Go 不支持可选参数,但是,在使用通道和更具体的缓冲通道时,我意识到make函数确实接受缓冲区大小的可选参数。如果 Go 团队不喜欢可选参数,那么我有点困惑,那么为什么他们支持一个经常与这种反模式一起使用的函数?好吧,为了不偏离原来的问题太多,谁能帮忙解释一下,在幕后,这是如何工作的?
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

make不是正常功能。newlencapcloseappend和其他一些都不是。这些是内置函数。

大多数内置函数和运算符被编译器重写以调用运行时包中的正常函数。

对于通道,编译器将调用重写为对runtime.makechan或相关变体之一的make调用。

普通函数不能有可选参数。


查看完整回答
反对 回复 2023-05-22
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信