🌟
Goのプロジェクトを作成し、HTTPサーバーを構築する
記事の内容
Goのプロジェクトを作成し、HTTPサーバーを構築する方法を解説します。
記事を読むと得られるもの
- Goのプロジェクトの初期化(作成)の方法
- GoでHttpリクエストを受け付ける方法
対象読者
- Go初心者
- Goに興味がある人
記事の長さ
2分で読めます
Goプロジェクトを作成する
まず最初に、Goを動作させるためのプロジェクトを作成します。
github repoの作成
$ gh repo create zenn-go-webserver-basic --public
✓ Created repository rara-tan/zenn-go-webserver-basic on GitHub
このGithubリポジトリにアプリケーションを作成していきます。
※cloneしておいてください。
Goプロジェクトの初期化
以下のコマンドを実行し、Goのプロジェクトの初期化を行います。
$ go mod init github.com/rara-tan/zenn-go-webserver-basic
go: creating new go.mod: module github.com/rara-tan/zenn-go-webserver-basic
上記コマンドを実行すると、カレントディレクトリに、go.mod
ファイルが作成されます。
$ tree
.
└── go.mod
$ cat go.mod
module github.com/rara-tan/zenn-go-webserver-basic
go 1.21.3
Webサーバーを構築する
GoでWebサーバーを構築するのはとても簡単で、標準パッケージのnet/http
を利用します。
net/http
はとても優秀なパッケージで、デフォルトで並列リクエストを処理することができます。
そのため、rubyなどの他のプログラミング言語の標準パッケージのHTTPサーバーとは異なり、並列リクエストを処理するためのミドルウェアを自前で作る必要がありません。
main.go
// httpserver.go
package main
import (
"fmt"
"net/http"
"os"
)
func main() {
err := http.ListenAndServe(
":8080",
http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
}),
)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
上記ファイルを作成したら、以下のコマンドでWebサーバーを起動します。
$ go run main.go
この状態で、localhost:8080
にアクセスすると、Hello World!
という文字列が表示されます。
まとめ
上記で、GoでWebサーバーを立ち上げることに成功しました。
note
勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。
Discussion