我第一次在 Google GO 上闲逛。我已经扩展了“hello world”应用程序以尝试在 init 部分中定义路径。这是我到目前为止所做的:
package hello
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/service", serviceHandler)
http.HandleFunc("/site", siteHandler)
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, there")
}
func serviceHandler( w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "this is Services")
}
func siteHandler( w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "this is Sites")
}
只有handler()
回调被执行——其他的被忽略。例如:http://myserver/service/foo
打印Hello, there
。我曾希望它会是this is Services
。
有没有更好的方法来做服务路由?理想情况下,无论如何我希望这些是单独的脚本,但看起来 Go 只有一个脚本,基于 app.yaml_go_app
在脚本声明中需要一个特殊字符串这一事实。
谢谢!