在 Go 中本地化代码包时,导入它们可能是一个挑战。此问题探讨了开发人员在尝试使用相对路径导入本地包时遇到错误的问题。
在提供的示例中,开发人员尝试从 /home/me/go/ 导入本地包 common 和 router使用相对导入语句的 src/myapp 目录。但是,这些导入失败,并出现错误,表明非本地包中不允许本地导入。
此外,当使用不带相对路径的包名称时,编译器报告找不到包。
解决方案在于了解 Go 的导入路径。默认情况下,Go 从 $HOME/go/src 开始其导入搜索路径。这意味着包必须直接位于此目录下或子目录中。
在这种情况下,本地包 common 和 router 不会直接放置在 $HOME/go/src 下。为了解决导入问题,开发者需要在包导入路径前添加项目名称 myapp。
因此,正确的导入语句应该是:
import ( "log" "net/http" "myapp/common" "myapp/routers" )
经过此修改, Go导入路径将正确解析为本地包并消除错误。
以上是Go中如何使用相对路径正确导入本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!