登录
首页 >  Golang >  Go问答

无法找到 data_manager_service/utils 包(在 GOROOT 或 GOPATH 中找不到)

来源:stackoverflow

时间:2024-02-06 09:33:20 302浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《无法找到 data_manager_service/utils 包(在 GOROOT 或 GOPATH 中找不到)》,聊聊,我们一起来看看吧!

问题内容

我已将 gopath 设置为 /users/didi/go,目前正在文件夹路径 /users/didi/go/src/route-data-manager-service 中工作。但是,我在尝试导入包时遇到错误(请参阅提供的错误图像)。

cannot find package "data_manager_service/utils" in GOROOT or GOPATH

基于gopath包依赖机制,默认情况下不应该从$gopath/src/projectname/src搜索包吗?我使用的是 visual studio code 和 go 版本 1.20。


正确答案


我整理了一个小例子来展示如何实现您的需求。作为前提,请遵循评论中 @volker 提供的建议,因为在熟练使用 go 之前,您需要完全理解该部分。
现在,让我们回到这个例子。我将提供快速分步指南来帮助您开始该项目。步骤是:

  1. 在文件系统上创建一个名为 importpackages 的文件夹
  2. 在终端中输入该文件夹并发出命令 code 。 -r 在 vscode 中打开它
  3. 发出命令 go mod init mymodule 来初始化名为 mymodule 的 go 模块
  4. importpackages 文件夹中创建一个名为 mypackage 的子文件夹。您的相对路径应该是 ./importpackages/mypackage
  5. 在以下路径 ./importpackages/mypackage/util.go 中创建一个包含以下内容的文件:
    package mypackage
    
    func dosomething() string {
        return "mypackage - dosomething()"
    }
    
  6. 在以下路径 ./importpackages/main.go 中创建一个包含以下内容的文件:
    package main
    
    import (
        "fmt"
        "mymodule/mypackage" // this is the statement you need to reference other local-defined pkg
    )
    
    func main() {
        fmt.Println("we're invoking a function from another pkg...")
        fmt.Println(mypackage.DoSomething())
    }
    
  7. 在文件夹 ./importpackages 中发出命令 go run . 来执行程序。您应该会看到终端上打印出两条语句。

请告诉我这是否可以帮助您解决问题,谢谢!

到这里,我们也就讲完了《无法找到 data_manager_service/utils 包(在 GOROOT 或 GOPATH 中找不到)》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>