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

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

無法使用導入的包中的函數

無法使用導入的包中的函數

Go
動漫人物 2022-09-19 17:18:20
我當前的目錄設置如下:-- /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個贊

你在這里有幾個問題。

  1. ftp/go.mod不應該存在。雖然可以在單個存儲庫中擁有多個 Go 模塊,但這是非常高級的用法,并且很少有用。除非您絕對知道自己需要此功能,并且已經非常習慣于創建和發布 Go 模塊,否則請不要這樣做。

  2. Go 不支持相對導入。 是無效的導入路徑*。使用完全限定的導入路徑,即import "../webserver/ftp"import "github.com/username/projectname/webserver/ftp"

    此處使用的路徑取決于您在頂級文件行上聲明的模塊名稱。modulego.mod

  3. 不能導入未導出的值。

    已在 中定義。這是未導出的,因為它以小寫字母開頭。只有函數、變量或其他以大寫字母開頭的符號才會在 Go 中導出。請嘗試。func test() stringftp.gofunc Test() string

*有些人會說“但是我用過,它起作用了!是的,它可以在非常特殊的情況下工作。但它的行為并不可靠,因此您永遠不應該依賴它,除非在非常特定測試類型的情況下。import ".../foo"


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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