2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
也許,a.go 和 pkg2 是平的,所以,你為什么不改變你的文件視圖,比如:
-samplego
--pkg
--src
---github.com
----pkg1
-----a.go
-----b.go
如果你想保持你的文件結(jié)構(gòu),你應(yīng)該使用 mod,等我一段時(shí)間。
-samplego
--pkg
--src
---github.com
----pkg1
-----a.go
-----pkg2
-------b.go
下面的命令: bash
cd $(SAMPLEGO_PATH) // change path to samplego exists
go mod init samplego
在b.go中,導(dǎo)入“samplego/src/github.com/pkg1”,然后通過pkg1.function從a.go導(dǎo)入函數(shù);在a.go中,導(dǎo)入“samplego/src/github.com/pkg1/pkg2”,然后通過pkg2.function從b.go導(dǎo)入函數(shù);

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
不幸的是,直到 Go2 才允許循環(huán)依賴。你想要做的事情可以用當(dāng)前的 Go 版本來(lái)完成。您可以重構(gòu)代碼以創(chuàng)建一個(gè)包 C,其中包含必須導(dǎo)出的數(shù)據(jù)結(jié)構(gòu)和方法。請(qǐng)記住,您需要使用go mod init YOUR_MODEL_NAME
,然后您可以使用import YOUR_MODEL_NAME/package_name
. 請(qǐng)記住,每個(gè)文件夾只能包含一個(gè)包。
- 2 回答
- 0 關(guān)注
- 103 瀏覽
添加回答
舉報(bào)