我有非常简单的代码,我的 .go 文件:
func init() {
http.HandleFunc("/", handlerMain)
log.Println("init executed")
}
func handlerMain(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "TEST")
}
和 app.yaml:
application: newsboard
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
最初执行时一切正常,这是控制台的输出
INFO 2015-10-19 19:28:56,626 devappserver2.py:763] Skipping SDK update check.
INFO 2015-10-19 19:28:56,652 api_server.py:205] Starting API server at: http://localhost:56946
INFO 2015-10-19 19:28:56,655 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO 2015-10-19 19:28:56,658 admin_server.py:116] Starting admin server at: http://localhost:8000
2015/10/19 19:28:59 init executed
但是当我输入http://localhost:8080 时,我得到以下信息:
INFO 2015-10-19 19:32:16,394 module.py:786] default: "GET / HTTP/1.1" 200 4
2015/10/19 19:32:16 init executed
所以 init() 不知何故被执行了两次。然后,每次当我重新加载页面时一切正常,控制台中不再出现“初始化执行”。我的问题:为什么 init() 发生两次,这可以吗?
白衣非少年
相关分类