登录
首页 >  Golang >  Go问答

go中如何导入本地包?

来源:Golang技术栈

时间:2023-03-05 18:18:01 304浏览 收藏

本篇文章向大家介绍《go中如何导入本地包?》,主要包括golang,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我是新手,正在编写一个我想本地化的示例代码。

在原始main.go导入语句中是:

 import (
    "log"
    "net/http"
    "github.com/foo/bar/myapp/common"
    "github.com/foo/bar/myapp/routers"
)

现在我有commonrouters打包/home/me/go/src/myapp

所以我将导入语句转换为:

import (
    "log"
    "net/http"
    "./common"
    "./routers"
)

但是当我运行时,go install myapp我得到了这些错误:

can't load package: /home/me/go/src/myapp/main.go:7:3: local import "./common" in non-local package

此外,当我在 import 语句中使用commonandrouters而不是./commonand时,我得到:./routers

myapp/main.go:7:3: cannot find package "common" in any of:
    /usr/local/go/src/common (from $GOROOT)
    /home/me/go/src/common (from $GOPATH)
myapp/main.go:8:2: cannot find package "routers" in any of:
    /usr/local/go/src/routers (from $GOROOT)
    /home/me/go/src/routers (from $GOPATH)

我怎样才能解决这个问题?

正确答案

好吧,我发现了问题所在。基本上去导入的起始路径是$HOME/go/src

所以我只需要myapp在包名前面加上,也就是import应该是:

import (
    "log"
    "net/http"
    "myapp/common"
    "myapp/routers"
)

到这里,我们也就讲完了《go中如何导入本地包?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

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