[Golang]echoフレームワークを試してみた!
Go言語はフレームワークを使わずとも、ライブラリの機能が高いのでOKと聞いたのですが、せっかくなのでGoのフレームワークにもちょっと触ってみようかなと思い、評判の良さそうなechoを使ってみることにしました。
インストール
echoフレームワークを導入しようと思います。
$ go get -u github.com/labstack/echo
準備ができましたね。
実装
とりあえず書いていきます。echo-sample/server.goに書いていこうかと。
package main import ( "net/http" "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") }) e.Logger.Fatal(e.Start(":1323")) }
http://localhost:1323にアクセスするとHello, Go!
と表示されます!手っ取り早い!!
違うページとかにもできるかな?と思って、下のように追加してみます。
package main import ( "net/http" "github.com/labstack/echo" ) func main() { e := echo.New() e.GET("/", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") }) // 追加 e.GET("/next", func(c echo.Context) error { return c.String(http.StatusOK, "Next!") }) e.Logger.Fatal(e.Start(":1323")) }
http://localhost:1323/nextにちゃんとNext!
って表示されました。
あれ?でもこれだとmain()
が膨らみそうだなあ、と思ったので、切り分けます。
package main import ( "net/http" "github.com/labstack/echo" ) func hello(c echo.Context) error { return c.String(http.StatusOK, "Hello, Go!") } func next(c echo.Context) error { return c.String(http.StatusOK, "Next!") } func main() { e := echo.New() e.GET("/", hello) e.GET("/next", next) e.Logger.Fatal(e.Start(":1323")) }
おお、いい感じにできました!
調べてみるとAPI開発に使っている記事が多かったので、次はそっちの方をechoで作ってみようと思います。
何かあれば、じぇい👨💻 (@jyouj__) | Twitterに!