package helloworld
import (
"fmt"
"net/http"
"appengine"
"appengine/user"
)
func init() {
fmt.Print("hello")
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
u := user.Current(c)
if u == nil {
url, err := user.LoginURL(c, r.URL.String())
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.Header().Set("Location", url)
w.WriteHeader(http.StatusFound)
return
}
fmt.Fprintf(w, "Hello, %v!", u)
}
在goapp serve
输出中引发以下错误
(saucy)adam@localhost:~/projects/ringed-land-605/default$ goapp serve -host 0.0.0.0 .
INFO 2014-06-08 23:57:47,862 devappserver2.py:716] Skipping SDK update check.
INFO 2014-06-08 23:57:47,877 api_server.py:171] Starting API server at: http://localhost:48026
INFO 2014-06-08 23:57:47,923 dispatcher.py:182] Starting module "default" running at: http://0.0.0.0:8080
INFO 2014-06-08 23:57:47,925 admin_server.py:117] Starting admin server at: http://localhost:8000
ERROR 2014-06-08 23:57:48,759 http_runtime.py:262] bad runtime process port ['hello46591\n']
删除fmt.Print()
修复问题。我的问题是为什么会这样?
开始运行时过程时,Go Development
Server
(在App
Engine Go SDK中)正在读取helloworld的中找到的单行响应init
。
这会修改中的_start_process_flavor
标志http_runtime.py
;因此,HTTP运行时会尝试读取行以指示要侦听哪个端口。
阅读启动过程文件中预期的单行响应。[…] START_PROCESS_FILE版本使用运行时实例的文件来报告其正在侦听的端口。
在这种情况下,hello
不是要监听的有效端口。
尝试改用Go的log
软件包:
log.Print("hello")
问题内容: 情况1:这不会引起?。谁能告诉我为什么这不会导致ConcurrentModificationException。 情况2:这是由于我尝试访问AsyncThread中的线程不安全的人员列表。我可以使我的“人员列表”实现是线程安全的,并且应该可以运行。 谁能解释我到底发生了什么。我无法理解这是如何解决问题的。 案例2是否将实现从更改为推荐? 添加例外: 05-28 20:34:21.073
它通常会打印“z”。为什么它不返回分段错误?因为我试图访问一个不应该存在的索引,因为strB的大小(索引数量)等于tam_strA,它等于3。 另外,做有什么不同/问题吗?
问题内容: 我是Go编程语言的新手,每个教程都从将GOPATH设置为当前项目文件夹开始。 我想念什么吗?程序员真的应该在进入新的Go项目文件夹时手动设置GOPATH 吗?我已经阅读了一些有关GOPATH的常见问题解答条目,但仍然无法解决。 那为什么GOROOT存在呢?目的是什么? 是否有任何自动工具来检测当前目录是否是Go项目的根文件夹(例如通过某个隐藏文件)并自动将GOPATH更改为该目录? 谢
问题内容: 为什么在Python解释器中会发生以下情况? 为什么不呢? 问题答案: 那是因为不能以二进制浮点表示形式精确表示。如果你试试 Python会做出响应,因为它只能打印出一定的精度,但是已经存在一个小的舍入错误。也会发生同样的情况,但是当您发出 然后四舍五入误差并累积。另请注意:
问题示例的图像 在这两个节点上都调用 .intersects 并返回 true。我使用getBoundsInParent()来表示两者。有人可以帮我解决这个问题吗?我觉得这与getBoundsInParent()没有返回圆圈的准确边界有关,而是idk。谢谢
问题内容: 我只是在android上开始,而我的java很生锈。我不记得曾经见过像这样嵌套在另一个函数中的函数。有人可以向我确切解释final的作用,并解释为什么您要在另一个函数中嵌套这样的功能吗? 问题答案: 这是一个匿名类。实际发生的情况是正在使用重写的函数创建 的子类。 关于匿名类的最优雅的事情之一是,它们使您可以在需要的地方准确定义单发类。此外,匿名类具有简洁的语法,可减少代码中的混乱情况