Go言語でたったの12行でWebサーバーが立てられる!
Go言語で簡単にWebサーバーが立てられることを知ってちょっと試してみました。
結論から言うと思った以上に超簡単でした。ソースコードはたった12行で済みます。もうこれ、Apatchとかいらないんじゃないかって思うレベルです。
Go言語すげー。
ソースコード
こちらがソースコードです。ネットで普通に転がっているのでそれをコピペしただけです。9行目と10行目は同じ構文を2行に分けて書いただけなので実質は11行のソースコードです。たったこれだけ。
package main import ( "log" "net/http" ) func main() { http.Handle("/", http.StripPrefix("/", http.FileServer(http.Dir("/Users/.../WebServer") ))) log.Fatal(http.ListenAndServe(":8080", nil)) }
10行目の、http.Dir(“/Users/…/WebServer”) の部分は、後述するHTMLファイル(index.html)の置き場です。
[ad#top-1]
HTMLファイルも用意する
上のソースコードはあくまでサーバーを立ち上げるためのもので、ブラウザ上で表示させるページは別途必要です。
とりあえず、テスト用に以下の簡単なHTMLを用意しました。ファイル名はindex.htmlです。
<!DOCTYPE html> <html> <body> <h1>Hello World!</h1> </body> </html>
実行してみる
上記プログラム(ファイル名:WebServer.go)を以下のコマンドで実行します。
go run WebServer.go
すると、Windowsの場合、以下のメッセージが現れます。「アクセスを許可する」を押しましょう。
で、ブラウザで、http://localhost:8080/を開くと、以下の通りindex.htmlのページが開きました。
あまりにも簡単でびっくりしました。他の言語でここまで手軽にサーバー作れるのってあるんでしょうか。JavaとかC#とかだったら結構面倒くさそう。
今回はサーバーを立ち上げただけですが、Go言語ではページを動的に作ることもできるみたいですね。テンプレートを使うことも可能みたいです。いずれ紹介します。
[ad#ad-1]
スポンサーリンク