当前位置: 首页 > 面试题库 >

如何在GAE中导入本地Go软件包

淳于飞鸾
2023-03-14
问题内容

如何在Golang + GAE中导入本地软件包?

我想要这样的事情:

app/
-app.yaml
-/my_app
--my_app.go
--/package1
---package1.go

清单my_app.go:

package my_app

import (
  "http"
  "./package1"
)

func init() {
  http.HandleFunc("/", package1.index)
}

package1.go的清单:

package package1

import (
  "http"
  "fmt"
)

func index (w http.ResponseWriter, r * http.Request) {
  fmt.Fprint(w, "I'm index page =) ")
}

在这种情况下,我有一个错误,例如:

/path/to/project/my_app/my_app.go:5: can't find import: ./package1
2011/11/03 10:50:51 go-app-builder: Failed building app: failed running 6g: exit status 1

感谢帮助。


问题答案:

您需要链接或将软件包复制到应用程序目录。 相对于应用程序目录根目录的路径应与导入路径匹配。
要使用package1,您应该将应用程序目录配置为如下所示:

app.yaml
yourapp/yourapp.go
package1/package1.go

来自https://groups.google.com/d/msg/golang-
nuts/coEvrWIJGTs/75GzcefKVcIJ



 类似资料:
  • 问题内容: 我是新手,正在研究要本地化的示例代码。 在原始的导入语句中,它是: 现在我已经和包 所以我将import语句转换为: 但是当我运行时,出现以下错误: 另外,当我在导入语句中使用and 代替and 时,得到: 我怎样才能解决这个问题? 问题答案: 好吧,我发现了问题所在。基本上,导入的开始路径是 所以我只需要在包名称前面添加,即导入应该是:

  • 问题内容: 我已经习惯了,但是对于当前的问题,我没有用。我希望能够创建特定于项目的软件包: 我尝试了多种方法,但是如何在或等等上工作? 例如; 我希望能够然后能够运行,并且一切正常,而不会抛出无法在或找到包的错误。我需要这种功能的原因是针对大型项目。我不想引用多个其他软件包或将它们保存在一个大文件中。 问题答案: 转到依赖项管理摘要: 如果您使用的版本是: 或者您的go版本是: 如果您使用的版本是

  • 问题内容: 来自我曾经通过告诉从甚至直接从控制台安装该版本的lib 的环境,我曾经将供应商的lib的特定版本安装到项目文件夹()中,如下所示: 然后,我通常使用以下命令在项目中导入该软件包的该版本: 现在,我想对做同样的事情。我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式,如何导入一个版本而不是另一个版本? 我会做这样的事情: 但是,如何在导入过程中有所作为? 问题答案

  • 问题内容: 我正在尝试在我的GAE应用程序中上传文件。如何使用Go和使用在Google App Engine中上载文件? 问题答案: 我设法通过使用中间返回参数“其他”解决了我的问题。以下这些代码位于上传处理程序中 然后分配相应的formkey 并在我的结构值分配中像这样使用它 并非100%肯定这是正确的做法,但这解决了我的问题,它现在将图像上传到blobstore,并将其他数据和blobkey保

  • 问题内容: 我创建了由名称的库这是在我的程序作为 并输出如下功能 当我在主程序中使用库时 尝试使用构建时出现以下错误 奇怪的是,库文件libfastget.a位于pkg文件夹中。 问题答案: 您需要使函数的名称可以大写导出: 用作: 规范中提到:“ 导出的标识符 ”: 标识符可以被导出以允许从另一个包访问它。如果同时满足以下条件,则导出标识符 标识符名称的第一个字符是Unicode大写字母(Uni

  • 问题内容: 我想获取计算机的IP地址。我使用了下面的代码,但是返回了。 我想获取IP地址(例如),而不是回送地址。 问题答案: 您需要遍历所有网络接口 播放(取自util / helper.go)