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

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

Patricia Arquette
发布: 2024-12-28 19:24:11
原创
192 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板