我當前的目錄設置如下:-- /webserver | /ftp |-> ftp.go |-> go.mod |->server.go |->go.mod服務器.go 頁面標題package mainimport ( [..] "../webserver/ftp" // issue package)func main() { [..] ftp.test()}頁面package ftpimport "fmt"func test() { fmt.Println("YES!")}這是我在控制臺“PROMBLEMS”選項卡中似乎無法理解的部分,ftp.go文件被保存。在我保存服務器.go文件之前,請使用“../網絡服務器/ftp/“ 控制臺顯示以下內容:當我保存服務器.go時,它會刪除“./網絡服務器/ftp”,我甚至將其添加到go src中,使其成為“ftp”而不是“..。/網絡服務器/ftp“。我得到同樣的結果。不知道我做錯了什么?;旧?,我想完成的是:有一個函數文件夾,并在該文件夾中有函數(函數.go),以保持server.go頁面盡可能干凈。
1 回答

PIPIONE
TA貢獻1829條經驗 獲得超9個贊
你在這里有幾個問題。
ftp/go.mod
不應該存在。雖然可以在單個存儲庫中擁有多個 Go 模塊,但這是非常高級的用法,并且很少有用。除非您絕對知道自己需要此功能,并且已經非常習慣于創建和發布 Go 模塊,否則請不要這樣做。Go 不支持相對導入。 是無效的導入路徑*。使用完全限定的導入路徑,即
import "../webserver/ftp"
import "github.com/username/projectname/webserver/ftp"
此處使用的路徑取決于您在頂級文件行上聲明的模塊名稱。
module
go.mod
不能導入未導出的值。
已在 中定義。這是未導出的,因為它以小寫字母開頭。只有函數、變量或其他以大寫字母開頭的符號才會在 Go 中導出。請嘗試。
func test() string
ftp.go
func Test() string
*有些人會說“但是我用過,它起作用了!是的,它可以在非常特殊的情況下工作。但它的行為并不可靠,因此您永遠不應該依賴它,除非在非常特定測試類型的情況下。import ".../foo"
- 1 回答
- 0 關注
- 65 瀏覽
添加回答
舉報
0/150
提交
取消