我想直接從包中公開一個函數。所以我可以直接調用我的包而不是 mypackage.Somepublic() 方法。package mainimport ( "mypackage" "fmt")func main() { var result = mypackage() fmt.Println(result) }例如,在 node.js 中,您可以公開一個匿名函數module.export = function() { console.log('ta da!');}或一個對象module.export = { doMagic: function() { console.log('ta da!'); }};
3 回答

富國滬深
TA貢獻1790條經驗 獲得超9個贊
雖然您的 Node.js 示例沒有直接的類比,但您可以在 Go 中執行的操作稱為“本地導入”?;旧?,本地導入將包導出到本地命名空間中的所有項(函數、類型、變量等)導入,以便可以像在本地定義一樣訪問它們。您可以通過在包名前加一個點來實現。例如:
import . "fmt"
func main() {
Println("Hello!") // Same as fmt.Println("Hello!")
}
(請參閱此操作)。
這適用于任何fmt導出的項目。你可以做一個類似的事情mypackage(這是從你發布的代碼中修改的):
package main
import (
. "mypackage"
"fmt"
)
func main() {
var result = Somepublic() // Equivalent to mypackage.Somepublic()
fmt.Println(result)
}
- 3 回答
- 0 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消