-前回、手軽にGo言語で簡易Webサーバーの作り方を紹介しました。Go言語を使えば数行で手軽にサーバーを作成できます。今回は、Webブラウザで手軽に使えるメモ帳を作ってみましょう。前回、簡易Webサーバーの作り方を紹介しました。Go言語を使えば、簡単なプログラムで自作サーバーアプリが作れます。最初に、簡単にWebサーバーの作り方を復習してみましょう。以下は、画面に「Hello」と表示するだけのWebサーバーですが、サーバーアプリの本質となる部分を備えています。以下のプログラムを「test_server.go」という名前で保存してください。bbbと出力}コマンドラインで以下のコマンドを実行してみましょう。test_server.goこれを実行するとサーバーが起動します。その後、Webブラウザを開いて「http://localhost:8888」にアクセスしてみましょう。すると、画面にHelloと表示されます。テストプログラムを実行したところさらに、「http://localhost:8888/aaa」にアクセスしてみましょう。画面に「aaa」と表示されます。次に「http://localhost:8888/bbb」にアクセスしてみましょう。すると、画面に「bbb」と表示されます。この点を確認した上で、プログラムを見てみましょう。プログラムの(*1)の部分では、HandleFuncを利用して、サーバーのURIに対応するハンドラを登録します。「/」であれば関数rootHandlerを実行し、「/aaa」であれば関数aaaHandlerを、「/bbb」であれば関数bbbHandlerを実行するというものです。(*2)の部分でハンドラを登録したら、サーバーを起動します。(*3)以下の部分では、指定のURLに実際にアクセスがあったときに実行する関数(ハンドラ)を定義します。利用して、指定したURIに対応したGoの関数が実行されるという点を覚えておきましょう。次に、メモ帳アプリを作成してみます。以下のプログラムを「memo_server.go」という名前で保存します。[]byte("ここにメモを記入してください。w.Write([]byte("フォームから投稿してください。301)}プログラムを実行するには、コマンドラインで以下のように実行します。memo_server.go続いて、Webブラウザで表示されるURL「http://localhost:8888/」にアクセスしましょう。するとテキストボックスと保存ボタンが表示されます。メモプログラムを実行したところ何か適当なテキストを記述して「保存」ボタンを押します。すると、データファイルにテキストが書き込まれ、次にこのアドレスにアクセスした時にも同じテキストが表示されます。【プログラムの解説】それでは、プログラムを確認してみましょう。(*1)の部分ではWebサーバーを起動します。ここでは、ルート「/」にアクセスした時にはreadHandlerを実行し、「保存」ボタンを押した時、つまり、フォームを投稿した時のURI「/w」にアクセスした時にはwriteHandlerが実行されるようにハンドラを登録しました。プログラムの(*2)の部分では、データファイルを読み込んだ上で、投稿フォームとテキストボックスと保存ボタンを表示します。ここでは、HTMLを動的に生成してWebブラウザに返すようにしています。ここで生成するHTMLは、URIの「/w」へテキストエディタの内容を送信するWebフォームです。ブラウザのソース表示で見ると分かるのですが、改行を入れて見やすくし、FORM要素だけ抜き出すと、以下のようなHTMLとなります。このうち、textarea要素の表示テキストの部分は、データファイルから読み込んだ内容が表示されます。name='text'>ここにメモを記入してください。/></form>そして、(*3)の部分では、上記の投稿フォームから送信された内容を解析して、データファイルに保存する処理となっています。ここでは、投稿されたtextのデータを取り出してファイルへ書き込みます。投稿されたフォームから任意のフィールドを取り込むのに必要なのが、ParseFormメソッドです。これを実行すると、『Form[フィールド名]』でフォーム内の値を取り出すことができます。取り出した値は、string型のスライスであり、そのフィールドが見当たらない場合、要素数は0となります。最後に、(*4)の部分では、ルートページへリダイレクトして戻るようにします。テキストを保存した後に、テキストを読み込んで表示するルートページへ画面遷移するようにすることで、テキストファイルの内容が画面に表示されるという訳です。図にすると、以下のようになります。メモアプリの画面遷移図このように、Webサーバーのアプリを作る際には、画面遷移を考えてプログラムを作ると、よく理解できます。まとめ以上、Webサーバーアプリの作成例として、メモアプリを作成してみました。今回のプログラムを起動しておくことで、Webブラウザからローカルにメモを保存できます。LAN内で実行する場合には、そのPCのIPアドレスを指定して「http://(PCのIPアドレス):8888」にアクセスします。すると、LAN内でメモを共有することもできます。手軽に使えるメモ帳サーバーのできあがりです。前回は10行のプログラムでWebサーバーを作ってみました。今回のプログラムは50行程度です。何かしらの機能を持つアプリを作る場合には、それなりの行数が必要になりました。言え、Goなら、一度実行ファイルにコンパイルしてしまえば、実行ファイルを別のPCにコピーしただけで動かすことができます。本連載では、今後もサーバー機能を利用した便利なGoの魅力を紹介していきます。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。