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

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

在不同目錄但在同一目錄下找不到函數

在不同目錄但在同一目錄下找不到函數

Go
尚方寶劍之說 2022-05-23 15:52:35
我只有一個包main,但我正在構建多個二進制文件:--cmd   --program1      --main.go   --program2     --main.go--xxx.go--yyy.go--zzz.go我想在xxx.goin 中調用函數program1/main.go。編譯器說undeclared name:。我認為我不應該導入該函數,因為它們都在同一個包下main。
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

做你想做的事,你需要把文件 xxx.go、yyy.go 和 zzz.go 放到一個內部包中。


這是您應該擁有的目錄布局:


--cmd

   --program1 

     --main.go

   --program2

     --main.go

--internal

   --shared

      --xxx.go

      --yyy.go

      --zzz.go

在文件 xxx.go、yyy.go 和 zzz.go 中,您應該package shared在文件的開頭有。


在文件 main.go 中,您應該有import "../../internal/shared". 如果您有一個帶有完全限定模塊名稱的 go.mod 文件(例如 github.com/me/project),那么您可以擁有import "github.com/me/project/internal/shared".


一旦你有了這個,你就可以調用共享包的導出函數,例如從 xxx.go 文件,從程序的主文件。請注意,當函數名稱的第一個字母是大寫字母時,會導出函數。


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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