Goの標準のwebサーバー機能(@RaspberryPI)

Goの標準のライブラリにnet/httpというのがあって、これを使うとwebサーバーが簡単に立ち上げできます。もちろん複雑なことをやるならば他の言語と同じようにフレームワーク(実は単にnet/httpのラッパーらしい)が必要となるのですが。

ともかくも、以下のコードだけでhttp://raspberrypi.local:4000で実行ファイルディレクトリのpubディレクトリにあるindex.htmlの静的ページを返します。別にラズパイ以外でも同じなのですが、実際に使うのはラズパイだろうからラズパイでやっています。

package main

import (
    "net/http"
)

func main() {
    fs := http.FileServer(http.Dir("pub"))
    http.Handle("/", fs)
    http.ListenAndServe(":4000", nil)
}

ブラウザからアクセスするとこんな感じです、スタイルは未指定。

今時の言語ではwebサーバーは特別に分離しないで言語と一体化が自然な流れになってきています。

 

admin