登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-22 23:18:34 223浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Go 中的函数如何处理可选参数?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

正如我们所知,Go 不支持可选参数,但是,在使用通道和更具体的缓冲通道时,我意识到 make 函数确实接受缓冲区大小的可选参数。我有点困惑,如果 Go 团队不喜欢可选参数,那么为什么他们支持一个经常与这种反模式一起使用的函数?

好吧,为了不偏离原来的问题太多,任何人都可以帮助解释一下,在幕后,这是如何工作的?


解决方案


make 不是一个普通函数。 newlencapcloseappend 等也不是。这些是 built-in functions

大多数内置函数和运算符都会被编译器重写,以调用运行时包中的普通函数。

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

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

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>