当前位置: > > > > Go 中的函数如何处理可选参数?
来源:stackoverflow
2024-04-22 23:18:34
0浏览
收藏
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Go 中的函数如何处理可选参数?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
问题内容
正如我们所知,Go 不支持可选参数,但是,在使用通道和更具体的缓冲通道时,我意识到 make
函数确实接受缓冲区大小的可选参数。我有点困惑,如果 Go 团队不喜欢可选参数,那么为什么他们支持一个经常与这种反模式一起使用的函数?
好吧,为了不偏离原来的问题太多,任何人都可以帮助解释一下,在幕后,这是如何工作的?
解决方案
make
不是一个普通函数。 new
、len
、cap
、close
、append
等也不是。这些是 。
大多数内置函数和运算符都会被编译器重写,以调用运行时包中的普通函数。
对于通道,编译器将 make
调用重写为对 或相关变体之一的调用。
普通函数不能有可选参数。
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注公众号,一起学习编程~