Rus*_*uth 5 google-app-engine go
如何在Golang + GAE中导入本地包?
我想要这样的东西:
app/
-app.yaml
-/my_app
--my_app.go
--/package1
---package1.go
Run Code Online (Sandbox Code Playgroud)
my_app.go的列表:
package my_app
import (
"http"
"./package1"
)
func init() {
http.HandleFunc("/", package1.index)
}
Run Code Online (Sandbox Code Playgroud)
package1.go的列表:
package package1
import (
"http"
"fmt"
)
func index (w http.ResponseWriter, r * http.Request) {
fmt.Fprint(w, "I'm index page =) ")
}
Run Code Online (Sandbox Code Playgroud)
我这个例子我有一个错误:
/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
Run Code Online (Sandbox Code Playgroud)
感谢帮助.
正如对dupoxy的回答的评论所述,在给定情况下导入本地包的方法是导入为"my_app/package1":
import (
"http"
"my_app/package1"
)
Run Code Online (Sandbox Code Playgroud)
您需要将包链接或复制到您的应用程序目录。相对于应用程序目录根的路径应与导入路径匹配。要使用 package1,您应该将应用程序目录配置为如下所示:
app.yaml
yourapp/yourapp.go
package1/package1.go
Run Code Online (Sandbox Code Playgroud)
来自https://groups.google.com/d/msg/golang-nuts/coEvrWIJGTs/75GzcefKVcIJ