785 words
4 minutes
GoのGinを触ってみた

GoのGinを触ってみた#

こんにちは、YAMAです。
今回はGoのWebフレームワークであるGinを触ってみた感想を書いていこうと思います。
前回、Goの基礎的なチュートリアルを触り、先月から本格的にGoを学び始めました。
今回は学園祭でGoを使ってWebアプリを作ることになったので、Ginを選んで触ってみました。

Ginを選んだ理由#

GoのWebフレームワークは色々ありますが、Ginは特に人気があるフレームワークの一つです。
理由としては、

  • シンプルで使いやすいAPI
  • 高速なパフォーマンス
  • 豊富なドキュメントとコミュニティサポート などが挙げられます。
    これらの理由から、Ginを選んで触ってみることにしました。

Ginを触ってみた感想#

実際にGinを触ってみて、まず感じたのはそのシンプルさでした。
ルーティングの設定やミドルウェアの追加などが非常に直感的で、Goの標準ライブラリを使うよりもずっと簡単にWebアプリを構築できることがわかりました。
また、Ginのパフォーマンスも非常に良く、リクエストの処理が高速に行われることが実感できました。
さらに、Ginのドキュメントも非常に充実しており、困ったときにはすぐに解決策を見つけることができました。
これは確かに人気があるなと感じました。

ginを使ってアプリケーションを作ってみよう!#

Ginを触るための環境構築も非常に簡単でした。
Goの環境構築に関しては以下の記事を参考にしてください。
Goの環境構築をしてみた
あとは、簡単なコードを書いてみるだけです。
まずはginのモジュールをインストールします。

import "github.com/gin-gonic/gin"

そして、以下のコードをmain.goに書いてみます。

package main

import (
  "log"
  "net/http"

  "github.com/gin-gonic/gin"
)

func main() {
  // Create a Gin router with default middleware (logger and recovery)
  r := gin.Default()

  // Define a simple GET endpoint
  r.GET("/ping", func(c *gin.Context) {
    // Return JSON response
    c.JSON(http.StatusOK, gin.H{
      "message": "pong",
    })
  })

  // Start server on port 8080 (default)
  // Server will listen on 0.0.0.0:8080 (localhost:8080 on Windows)
  if err := r.Run(); err != nil {
    log.Fatalf("failed to run server: %v", err)
  }
}

この後、ターミナルで

go run main.go

を実行すると、サーバーが起動します。 このコードは、GitHubのginのチュートリアルに乗っているのですが、/pingエンドポイントにアクセスすると、{"message": "pong"}というJSONレスポンスを返す簡単なWebサーバーを構築しています。
このように、Ginを使うことで非常に簡単にWebアプリを構築できることがわかります。

まとめ#

GinはGoのWebフレームワークの中でも特に人気があり、シンプルで使いやすいAPI、高速なパフォーマンス、豊富なドキュメントとコミュニティサポートが魅力的です。
実際に触ってみて、その魅力を実感することができました。
これからもGinを使って、さらに学園祭のWebアプリを作ってみたいと思います。
それではまた次回!
以上YAMAでした。