账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go mod怎么引用同一个项目下面的子目录
    24
    0

    怎么在go的子路吗下面引用子包下面的函数

    我引用子包出现了 build command-line-arguments: cannot load blog/controller/home: malformed module path "blog/controller/home": missing dot in first path element

    相关代码

    • 目录结构
    src
        blog
            controller
                home
                    IndexController.go
            main.go    
    • 下面是我的main包里面的代码
    package main
    
    import (
        "blog/controller/home"  // 这里在goland编辑器编译的时候提升错了
        "github.com/kataras/iris"
        "github.com/kataras/iris/middleware/logger"
        "github.com/kataras/iris/middleware/recover"
        "log"
    )
    
    func main() {
        app := iris.New()
        app.Logger().SetLevel("debug")
        app.Use(recover.New())
        app.Use(logger.New())
    
        app.Get("/", home.Index)
    
        log.Fatal(app.Run(iris.Addr(":8089")))
    }
    
    • go.mod
    module blog
    
    go 1.13
    
    require (
        github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a // indirect
        github.com/ajg/form v1.5.1 // indirect
        github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072 // indirect
        github.com/google/go-querystring v1.0.0 // indirect
        github.com/imkira/go-interpol v1.1.0 // indirect
        github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect
        github.com/kataras/iris v0.0.0-20190916050704-df882273e219
        github.com/klauspost/compress v1.8.5 // indirect
        github.com/mattn/go-colorable v0.1.4 // indirect
        github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
        github.com/modern-go/reflect2 v1.0.1 // indirect
        github.com/moul/http2curl v1.0.0 // indirect
        github.com/onsi/ginkgo v1.10.2 // indirect
        github.com/onsi/gomega v1.7.0 // indirect
        github.com/sergi/go-diff v1.0.0 // indirect
        github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
        github.com/smartystreets/goconvey v0.0.0-20190731233626-505e41936337 // indirect
        github.com/valyala/fasthttp v1.5.0 // indirect
        github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
        github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
        github.com/xeipuuv/gojsonschema v1.1.0 // indirect
        github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0 // indirect
        github.com/yudai/gojsondiff v1.0.0 // indirect
        github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
        github.com/yudai/pp v2.0.1+incompatible // indirect
    )
    

    我的go环境都在同一个目录环境下,为什么还报这个错误呢,我的go版本是 go version go1.13.1 darwin/amd64

    提示的错误信息是

    go: finding github.com/Shopify/goreferrer latest
    go: finding github.com/eknkc/amber latest
    go: finding github.com/flosch/pongo2 latest
    go: finding github.com/kataras/golog latest
    go: finding golang.org/x/crypto latest
    go: finding github.com/kataras/pio latest
    build command-line-arguments: cannot load blog/controller/home: malformed module path "blog/controller/home": missing dot in first path element

    请问各位大佬们我哪里写错了呀

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 镜中花水中月 普通会员 1楼

      在Go语言中,Go Mod(由Go语言提供)是一个模块管理工具,可以方便地引入和管理Go项目的依赖。如果你想在同一个项目中引用同一个子目录下的依赖,你可以通过以下步骤实现:

      1. 首先,你需要在项目的根目录下创建一个名为go.mod的文件,然后在其中添加以下内容:

      ```go module main

      go 1.15 ```

      这个go 1.15行是Go语言的最新版本。如果你需要引入的依赖在最新的Go版本中可用,你可以将go 1.15改为go 1.16或更高版本。

      1. 然后,你需要在你的代码中引用这个模块。你可以通过import语句来实现。例如:

      go import "main"

      在这个例子中,main模块是你的项目中引用的模块。

      1. 如果你的子目录中有其他依赖,你可以在go.mod文件中为它们添加依赖。例如:

      go dependency github.com/user/repo

      在这个例子中,github.com/user/repo是你的子目录中的一个依赖。

      1. 最后,你需要在你的代码中导入这些依赖。你可以通过import语句来实现。例如:

      go import ( "github.com/user/repo" )

      在这个例子中,github.com/user/repo是你的代码中的一个依赖。

      这样,你就可以在同一个项目中引用同一个子目录下的依赖了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部