如何访问主包中的函数?

根据设置:


$GOPATH/

  github.com/ddavison/project/

    subpackage/

      lib.go

    main.go

package subpackage

...

func Hello() {

  fmt.Println("hello")

}

main.go

package main

...

func main() {

  ...

}


func DoSomething() {

  fmt.Println("done!")

}

从main.go,我知道我可以lib.go通过执行


import "github.com/ddavison/project/subpackage"

lib.Hello()

但是我该如何做相反的事情,从main.gofrom调用一个方法lib.go?我怎样才能DoSomething()从打电话lib.go?


侃侃尔雅
浏览 161回答 1
1回答

繁星点点滴滴

Go 的功能是一流的。将命名函数DoSomething作为参数传递给 lib 函数。如果允许引用其他任何内容,您将具有循环依赖关系main。库package subpackage...type Complete func()func Hello(complete Complete) {  fmt.Println("hello")  complete()}main.gopackage main...func main() {  subpackage.Hello(DoSomethign)}func DoSomething() {  fmt.Println("done!")}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go