具有以下項目結構D:\src\go\my-app + internal\ | + utils.go + main.go + go.mod具有以下文件內容:internal\utils.go:package internalfunc GetText() string { return "hello world"}main.go:package mainimport ( "fmt" "example.com/my_app/internal")func main() { fmt.Println(GetText())}go.mod:module example.com/my_appgo 1.17從目錄運行時出現以下編譯錯誤:D:\src\go\my-app>go build# example.com/my_app.\main.go:5:2: imported and not used: "example.com/my_app/internal".\main.go:9:14: undefined: GetText任何想法,可能是什么問題?PS:這個問題是可重現的,不是由拼寫錯誤引起的,而是由錯誤的假設引起的(在其他編程語言中,導入的項目是通過它們的名稱訪問的)。
1 回答

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
是的,問題很明確:
您導入
example.com/my_app/internal
但不使用它。如果您使用它,那么internal.<something>
您的主目錄中就會有某個地方。GetText()
不存在:GetText()
您的主包中沒有功能。
解決方案:
替換GetText()
為internal.GetText()
。現在example.com/my_app/internal
使用并GetText()
在此包中找到。
- 1 回答
- 0 關注
- 103 瀏覽
添加回答
舉報
0/150
提交
取消