猿问

在 go 包中公开一个函数

我想直接从包中公开一个函数。

所以我可以直接调用我的包而不是 mypackage.Somepublic() 方法。


package main


import (

    "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!');

    }

};


神不在的星期二
浏览 164回答 3
3回答

富国沪深

虽然您的 Node.js 示例没有直接的类比,但您可以在 Go 中执行的操作称为“本地导入”。基本上,本地导入将包导出到本地命名空间中的所有项(函数、类型、变量等)导入,以便可以像在本地定义一样访问它们。您可以通过在包名前加一个点来实现。例如:import . "fmt"func main() {    Println("Hello!") // Same as fmt.Println("Hello!")}(请参阅此操作)。这适用于任何fmt导出的项目。你可以做一个类似的事情mypackage(这是从你发布的代码中修改的):package mainimport (    . "mypackage"    "fmt")func main() {    var result = Somepublic() // Equivalent to mypackage.Somepublic()    fmt.Println(result)    }
随时随地看视频慕课网APP

相关分类

Go
我要回答