入門GoechoはじめにGoのWebフレームワークecho入門。公式ドキュメントに書いてあることをほんのちょっとだけ深ぼってみる。World!という文字列が表示されることが確認できます。echo.New()はこのフレームワークの核となるEchoインスタンスを作成します。詳細を追うことはしませんが、*http.Serverやnet.Listener等をラップしているようです。GETはhttp.HandleFuncと同じような役割を担うメソッドです。HTTPメソッドとリクエストを受け取るURLパターン、それに対応するためのハンドラを登録します。GETで登録されたハンドラはGETメソッドで送信されたリクエストだけを受け取ります。echo.Contextは現在のHTTPリクエスト状況を表しています。http.ResponseWriterや*http.Requestをラップしており、リクエスト内容他、諸々の情報を保持しています。Stringはステータスコードとともに文字列をレスポンスに書き込むためのメソッドです。StartはHTTPサーバーを開始するためのメソッドです。指定されたアドレスへのリクエストを待ち受け開始します。実質http.ListenAndServe。errorという型さえ満たせば任意の関数名でハンドラを登録することが出来ます。ルーティングの機能としては見たままですね。HTTPメソッド、URLパターン、ハンドラを登録します。:idのように書くと、この部分がプレースホルダーになります。Paramで指定したプレースホルダーから文字列を取り出すことが出来ます。http://localhost:1323/users/JoeにGETメソッドでリクエストを投げると、変数idにJoeという文字列が格納されます。Paramは文字列を返すメソッドなので、構造体やDB等と結びつける場合は注意が必要です。QueryParamでクエリパラメーターを取得することが出来ます。語ることもないですね...。member:wolverineの文字列が返ってきます。u)})構造体に対して上記のようにタグ付けをすることで、リクエストのContent-Typeとそのキーに基づいてデータを紐付けるが出来ます。Bindの使用方法はとても簡単で、タグ付けが行われている構造体のゼロ値のポインタを引数に取るだけです。該当の値が送られてきた場合、よしなに構造体へのデータ格納を行ってくれます。Stringと大差はありません。構造体やマップ等を渡せばjsonへのエンコードを行い、ステータスコードとともにレスポンスへ書き込みます。おわりに今回はガイドの1ページ目に記載されている本当に基礎的な機能だけを試してみましたが、他にも色々な機能が提供されていて使い勝手が良さそうです。使いこなせてないので色々試していきたい。requestStockLike11@pylor1nIT業界1年目、SES勤務。自分の学びを記録するつもりが、記事を書くと何故か説明してる風になっちゃう。upLoginユーザーは見つかりませんでした。