我是新手,正在研究要本地化的示例代码。
在原始的main.go
导入语句中,它是:
import (
"log"
"net/http"
"github.com/foo/bar/myapp/common"
"github.com/foo/bar/myapp/routers"
)
现在我已经common
和routers
包/home/me/go/src/myapp
所以我将import语句转换为:
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
另外,当我在导入语句中使用common
and routers
代替./common
and ./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 (
"log"
"net/http"
"myapp/common"
"myapp/routers"
)
问题内容: 如何在Golang + GAE中导入本地软件包? 我想要这样的事情: 清单my_app.go: package1.go的清单: 在这种情况下,我有一个错误,例如: 感谢帮助。 问题答案: 您需要链接或将软件包复制到应用程序目录。 相对于应用程序目录根目录的路径应与导入路径匹配。 要使用package1,您应该将应用程序目录配置为如下所示: 来自https://groups.google
问题内容: 我想获取计算机的IP地址。我使用了下面的代码,但是返回了。 我想获取IP地址(例如),而不是回送地址。 问题答案: 您需要遍历所有网络接口 播放(取自util / helper.go)
问题内容: 用go编程语言,为什么在导入软件包后,我仍然必须在该软件包中的方法前面加上软件包名称? 即 这不是多余的吗?例如,在Java中,无需导入文件就可以执行Files.readAllLines等操作。 问题答案: 我想这并不能真正回答您的问题,但是如果您愿意,您实际上可以在不显式说明软件包的情况下调用方法- 只需在名称前面添加一个即可(但不建议这样做;请参见下文): 注意下面@ JIMT的评
问题内容: 我知道应该避免本地进口,但是在这种情况下需要特殊情况。这是一个私有存储库,由于服务器上缺少私有密钥,因此与绝对URL一起使用时,heroku buildpack在该阶段失败。 现在我得到这个错误。 所有导入路径都已更改为本地版本,那么还有什么可以使软件包成为“非本地”文件呢?我该如何解决? 问题答案: 我修好了它。问题是root软件包在中。一旦我将软件包移到错误处,错误就消失了(因此,
我使用了,但对于当前的问题,它没有帮助。我希望能够创建特定于项目的包: 我尝试了多种方法,但如何获得
如何在Eclipse中导入javafx?为什么不在jre或JDK中默认添加它?Java中推荐的表单库是什么? 我已经安装了e(fx)clipse 3.6.0插件,但它没有帮助。