亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么要從公共函數調用私有函數,而不是在公共函數中調用私有函數?

為什么要從公共函數調用私有函數,而不是在公共函數中調用私有函數?

Go
喵喔喔 2023-04-17 14:50:50
我在 golang src 中看到很多這樣的代碼:func Open(path string) (*Plugin, error) {    return open(path)}func open() {  // etc}從公共調用私有函數。為什么不只是:func Open(path string) (*Plugin, error) {    // code of open here}參考: https: //golang.org/src/plugin/plugin.go? s=1065:1104#L21我確實理解有時它是有道理的,特別是如果有更多的功能使用open. 但事實并非如此。這是某種 Golang 的組織方式嗎?
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

在這種情況下,這似乎是因為實際實現取決于操作系統。

插件實現plugin_dlopen.go僅用于 OSX 和 Linux,替代方案plugin_stubs.go用于其他一切(它只包含虛擬函數,因為還沒有用于其他系統的實現。)

這允許您使用構建標簽將依賴操作系統的代碼保存在一個文件中,同時將通用代碼、公共 API 和公共 API 的文檔保存在一個地方。


查看完整回答
反對 回復 2023-04-17
  • 1 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號