Go言語学習15日目:標準ライブラリでHTTPサーバーを立てて「Hello」を表示してみた。(net/httpデビュー)

Go言語学習15日目

今まではコチラ

kunio-ud-all.com

Goの標準ライブラリ「net/http」 を使って、シンプルなWebサーバーを立ててみました!

「えっ、こんなに簡単にサーバー作れるの?」と驚いたので、
今回はその手順とコードをまとめていきます。


目標:ブラウザで「Hello, Go!」を表示するWebサーバーを作る

使うのは、たった2つの関数でした

  • http.HandleFunc
  • http.ListenAndServe

Goの標準パッケージって本当に便利ですね。。


まずはサンプルコード

package main

import (
    "fmt"
    "net/http"
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, "Hello, Go!")
}

func main() {
    http.HandleFunc("/", helloHandler)
    fmt.Println("サーバー起動中:http://localhost:8080")
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        fmt.Println("サーバーエラー:", err)
    }
}

実行手順:
  1. このコードを main.go に保存
  2. ターミナルで以下を実行
go run main.go
  1. ブラウザで http://localhost:8080 にアクセス!

ブラウザ表示:
Hello, Go!

無事に表示されたら成功です!


コード解説

  • http.HandleFunc("/", helloHandler)
     → URLのルート("/")にアクセスした時の処理を登録
  • helloHandler 関数は、レスポンスとして「Hello, Go!」を返すだけの処理
  • http.ListenAndServe(":8080", nil)
     → ポート8080でサーバーを起動する
  • エラーハンドリングも忘れずに!(Goらしさ)

本当にこれだけでWebサーバーが立つのは驚きでした。。


感じたこと

  • サーバー構築ってもっと大変かと思ってたけど、Goなら数行でできる!
  • 「リクエストが来たらこの関数を呼ぶ」という仕組みがシンプルでわかりやすい
  • 実際の業務でも、ちょっとしたAPIやローカルツールならこれで十分そう

Goが「Web開発にも強い」と言われる理由が少しわかった気がします。。


(この記事は広告を含みます。)