亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用外包文件中的函數

使用外包文件中的函數

Go
哈士奇WWW 2022-04-26 15:25:19
我是這里的 Golang 初學者,正在為如何使用外部包中的函數而苦苦掙扎這里我有源代碼作為下面的這棵樹-samplego--pkg--src---github.com----pkg1-----a.go-----pkg2-------b.go在 b.go 中,我想使用 a.go 中的函數,但編譯器告訴我,即使我將函數聲明為 public(第一個字符為大寫字母),該函數也是未定義的。我想知道在使用之前是否必須從 a.go 導入任何東西,但我想我會得到循環導入,因為在 a.go 中也使用來自 b.go 的函數。
查看完整描述

2 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

也許,a.go 和 pkg2 是平的,所以,你為什么不改變你的文件視圖,比如:



-samplego

--pkg

--src

---github.com

----pkg1

-----a.go

-----b.go


如果你想保持你的文件結構,你應該使用 mod,等我一段時間。 

-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中,導入“samplego/src/github.com/pkg1”,然后通過pkg1.function從a.go導入函數;在a.go中,導入“samplego/src/github.com/pkg1/pkg2”,然后通過pkg2.function從b.go導入函數;


查看完整回答
反對 回復 2022-04-26
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

不幸的是,直到 Go2 才允許循環依賴。你想要做的事情可以用當前的 Go 版本來完成。您可以重構代碼以創建一個包 C,其中包含必須導出的數據結構和方法。請記住,您需要使用go mod init YOUR_MODEL_NAME,然后您可以使用import YOUR_MODEL_NAME/package_name. 請記住,每個文件夾只能包含一個包。



查看完整回答
反對 回復 2022-04-26
  • 2 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號