#GAE
App Engine スタンダード環境での Go 1.12+ のクイックスタート
↑これをやって GAE 上にプロジェクトを作って Go を使えるようにしておく。
goae/
├── app.yaml
├── go.mod
└── main.go
runtime go113
go1.13 はまだ beta らしい。
$ go mod init goae
$ cat go.mod
module goae
go 1.14
1.14 だけど大丈夫かな?大丈夫だと思うけど。
package main
import (
"fmt"
"log"
"net/http"
"os"
)
func indexHandler(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != "/" {
http.NotFound(w, r)
return
}
fmt.Fprint(w, "Hello World!")
}
func main() {
http.HandleFunc("/", indexHandler)
port := os.Getenv("PORT")
if port == "" {
port = "8080"
log.Printf("Defaulting to port %s", port)
}
log.Printf("Listening on port %s", port)
if err := http.ListenAndServe(":"+port, nil); err != nil {
log.Fatal(err)
}
}
$ gcloud app deploy
これで待っていればデプロイされる。
$ gcloud app browse
デプロイされたらこのコマンドでブラウザが開いて確認できる。便利 :)