根據(jù)設(shè)置:$GOPATH/ github.com/ddavison/project/ subpackage/ lib.go main.go庫(kù)package subpackage...func Hello() { fmt.Println("hello")}main.gopackage main...func main() { ...}func DoSomething() { fmt.Println("done!")}從main.go,我知道我可以lib.go通過(guò)執(zhí)行import "github.com/ddavison/project/subpackage"lib.Hello()但是我該如何做相反的事情,從main.gofrom調(diào)用一個(gè)方法lib.go?我怎樣才能DoSomething()從打電話(huà)lib.go?
1 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
Go 的功能是一流的。將命名函數(shù)DoSomething作為參數(shù)傳遞給 lib 函數(shù)。
如果允許引用其他任何內(nèi)容,您將具有循環(huán)依賴(lài)關(guān)系main。
庫(kù)
package subpackage
...
type Complete func()
func Hello(complete Complete) {
fmt.Println("hello")
complete()
}
main.go
package main
...
func main() {
subpackage.Hello(DoSomethign)
}
func DoSomething() {
fmt.Println("done!")
}
- 1 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報(bào)
0/150
提交
取消