我有一個這樣的專案
-- go.mod
-- main.go
-- hello.go
-- folder1
-- test.go
我想從主檔案的 test.go 檔案中訪問 hloFunc。
package folder1
import "fmt"
func hloFunc() {
fmt.Println("Hello Function from sub directory")
}
我無法理解匯入模塊/包的作業原理。我讀過文章,從來沒有理解過任何東西。如果我能深入了解這里實際發生的事情,那將非常有幫助。
這是我的 go.mod 檔案
module testModule
go 1.17
我可以通過在主檔案中簡單地寫入函式的名稱來訪問 hello.go 檔案中的任何函式,但我也想從子目錄訪問函式。我怎樣才能做到這一點?
我應該在我的主檔案中更改什么以實作這一點
package main
import "testModule/folder1/"
func main() {
hloFunc()
}
uj5u.com熱心網友回復:
您的代碼有 2 個(至少)問題。第一個問題是main.go. 你應該洗掉它。
main.go
import "testModule/folder1"
第二個問題是您試圖從另一個包中呼叫未匯出的函式。要解決這個問題,您應該匯出它(通過將函式名稱的第一個字母更改為大寫) test.go
func HloFunc() {
fmt.Println("Hello Function from sub directory")
}
并使用包名來呼叫它。
main.go
func main() {
folder1.Hlofunc()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/520329.html
標籤:去
