http.Handle, http.HandleFunc, http.Handler, http.HandlerFunc の違いを確認。語尾のルーとラーで強調して説明していただいているw #saikin_go
2016-12-08 19:58:02トップバッターは @tenntenn さん Gopherスタンプの方だった HTTP サーバー作ってみる #saikin_go
2016-12-08 19:58:02http.ServeMuxは複数のハンドラをまとめてくれるひとだよ また、これ自身もHandlerを実装してるよ #saikin_go
2016-12-08 19:58:19http.ResponseWriter これはインターフェースだよ。 Header Write とかをもっているよ。io.Writerとしても使えるよ Goは、シグネチャさえあっていれば、そのインターフェースとして使えるよ。便利!!! #saikin_go
2016-12-08 20:00:04io.Writerが実装されてると、いろんなところで使えるよ fmt.Fprintfで書き込み先として使えるとか、CSVを書いたりJSONを書いたり。 #saikin_go
2016-12-08 20:01:50入門したての方のコードを見ると、[]byteにしてそれからがんばってたりするよ。 io.Writerをうまくつかおう #saikin_go
2016-12-08 20:02:50http.Request これは、HTTPリクエストを表すよ ヘッダーやBodyがとれるよ FormValueメソッドを使うと、フォームデータが簡単にとれるよ #saikin_go
2016-12-08 20:03:55会場の様子 #saikin_go pic.twitter.com/XIDalfq0Px
2016-12-08 20:04:08text/templateのHTML特化版! template.New(“テンプレート名”).Parse(HTML) #saikin_go
2016-12-08 20:05:45テンプレートに埋め込むには signTemplate.Execute(w, r.FormValue(“content”)) #saikin_go
2016-12-08 20:06:16template.Mustだと、エラーを返す代わりにPanicを起こすよ たとえばinit()の中で、起動直後に作るようなものの時には便利だね #saikin_go
2016-12-08 20:07:05template.Mustでエラーの時に止める var t = template.Must(template.New("name").Parse("text")) #saikin_go
2016-12-08 20:09:33テンプレートで使える、よくある記法(text/templateにあるよ) {{.}} トップレベルのデータを埋め込む {{.Field}} フィールドにアクセス 条件分岐 {{if .}} {{else}} {{end}} #saikin_go
2016-12-08 20:09:43スクリプトタグを埋め込む輩にも対応してくれる:) #saikin_go
2016-12-08 20:10:40