为了账号安全,请及时绑定邮箱和手机立即绑定

在 go 包中公开一个函数

在 go 包中公开一个函数

Go
神不在的星期二 2021-06-15 14:45:34
我想直接从包中公开一个函数。所以我可以直接调用我的包而不是 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)    

}


查看完整回答
反对 回复 2021-06-21
  • 3 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信