正如我們所知,Go 不支持可選參數,但是,在使用通道和更具體的緩沖通道時,我意識到make函數確實接受緩沖區大小的可選參數。如果 Go 團隊不喜歡可選參數,那么我有點困惑,那么為什么他們支持一個經常與這種反模式一起使用的函數?好吧,為了不偏離原來的問題太多,誰能幫忙解釋一下,在幕后,這是如何工作的?
1 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
make
不是正常功能。new
,?len
,?cap
,?close
,?append
和其他一些都不是。這些是內置函數。
大多數內置函數和運算符被編譯器重寫以調用運行時包中的正常函數。
對于通道,編譯器將調用重寫為對runtime.makechan或相關變體之一的make
調用。
普通函數不能有可選參數。
- 1 回答
- 0 關注
- 133 瀏覽
添加回答
舉報
0/150
提交
取消