首页 >后端开发 >Golang >Go中如何正确导入本地包?

Go中如何正确导入本地包?

Patricia Arquette
Patricia Arquette原创
2024-12-28 19:24:11182浏览

How to Correctly Import Local Packages in Go?

在 Go 中导入本地包

在 Go 中使用本地化代码时,导入本地包有时会遇到挑战。以下是对常见问题及其解决方案的详细分析:

问题:

尝试本地化位于“/home/me/ 的包的导入语句” go/src/myapp”,进行了以下更改:

import (
    "./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

此外,使用不带“./”前缀的“common”和“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)

解决方案:

问题源于 Go 的导入路径约定。 Go 的导入起始目录是“$HOME/go/src”。要解决此问题,只需在导入语句中的包名称中添加“myapp”前缀即可:

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

此修改可确保导入路径正确,并将解决编译期间遇到的错误。

以上是Go中如何正确导入本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn