Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lvncer/go-gin-get-started
Go 言語の基本的なセットアップと、簡単な API サーバー構築の手順
https://github.com/lvncer/go-gin-get-started
gin go
Last synced: 3 days ago
JSON representation
Go 言語の基本的なセットアップと、簡単な API サーバー構築の手順
- Host: GitHub
- URL: https://github.com/lvncer/go-gin-get-started
- Owner: lvncer
- Created: 2024-11-23T01:55:55.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-23T01:56:07.000Z (about 2 months ago)
- Last Synced: 2025-01-15T12:07:24.735Z (6 days ago)
- Topics: gin, go
- Language: Go
- Homepage:
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Gin Get Started
Go 言語の基本的なセットアップと、簡単な API サーバー構築の手順を初歩から説明します。
---
## 1. **Go 言語のセットアップ**
### a. **インストール**
- [公式サイト](https://go.dev/dl/)から最新バージョンをダウンロードしてインストールします。
- インストール後、コマンドラインで以下を実行して確認:```bash
go version
```バージョン情報が表示されれば成功です。
### b. **プロジェクトの準備**
1. プロジェクト用のディレクトリを作成します:
```bash
mkdir my-first-api
cd my-first-api
```2. Go モジュールを初期化:
```bash
go mod init my-first-api
```これで`go.mod`ファイルが生成され、依存管理が可能になります。
---
### 2. **Go の基本構文**
Go を理解するために基本的なコードを見てみましょう。
#### a. **「Hello, World!」**
以下のコードを`main.go`という名前で保存します:
```go
package mainimport "fmt"
func main() {
fmt.Println("Hello, World!")
}
```実行方法:
```bash
go run main.go
```#### b. **基本構造**
- **パッケージ宣言**: `package main`
- Go プログラムのエントリーポイントは`main`パッケージ。
- **インポート**: 標準ライブラリや外部ライブラリを使うための宣言。
- **関数**: `func`キーワードを使って関数を定義。---
### 3. **簡単な API サーバーを構築**
最初は軽量なフレームワーク「Gin」を使って API サーバーを作ります。
#### a. **Gin のインストール**
以下を実行して依存をインストール:
```bash
go get github.com/gin-gonic/gin@latest
```#### b. **サーバーコードを書く**
`main.go`に以下のコードを書きます:
```go
package mainimport "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}```
#### c. **サーバーを実行**
以下のコマンドでサーバーを起動:
```bash
go run main.go
```ブラウザで`http://localhost:8080/ping`にアクセスすると、以下のレスポンスが返ってきます:
```json
{
"message": "pong"
}
```---
### 4. **コードの解説**
- **ルーターの作成**:
```go
r := gin.Default()
```Gin のルーターを作成し、ミドルウェア(ロギングやリカバリ)が自動で設定されます。
- **エンドポイントの登録**:
```go
r.GET("/ping", func(c *gin.Context) { ... })
```HTTP メソッドとパス(`/ping`)を指定して処理を定義。
- **レスポンスの送信**:
```go
c.JSON(200, gin.H{"message": "pong"})
```ステータスコード 200 と JSON 形式のレスポンスを返します。
---
### 5. **次に進むには**
- **ルーティングの学習**: パラメータ付きのルートや、POST リクエストの処理。
- **データベースの接続**: MySQL や PostgreSQL との連携。
- **設定ファイルの管理**: 環境変数や`.env`ファイルを使った設定。他にも詳しく知りたいことがあれば教えてください!一緒に進めていきましょう。