我想直接从包中公开一个函数。所以我可以直接调用我的包而不是 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 关注
- 162 浏览
添加回答
举报
0/150
提交
取消