1 パッケージメイン 2 。3 インポート( 4 " エンコーディング/ JSON " 5 " FMT " 6 " github.com/julienschmidt/httprouter " 7 " NET / HTTP " 。8 ) 。9 10 // ResponseWriter三つの方法書き込みWriteHeaderを有するインタフェースでありますヘッダメソッドパラメータ応答コード 。11 FUNCハロー(http.ResponseWriter Wは、R * http.Request、P httprouter.Params){ 12は fmt.Fprintf(W、" こんにちは、%S \ N- "、p.ByName(" 名前")) 13 } 14 15 // 读取请求头 16の FUNCヘッダ(W http.ResponseWriter、R * http.Request){ 17 // マップ[受け入れる:[* / *]同意をコードする:[GZIP、DEFLATE、BR] 18 // Cache-Control:[キャッシュなし]接続:[キープアライブ]のContent-Length:[42]のContent-Type:[text / plainの] 19 // ポストマン・トークン:[9d84b4f5-1b43-411a-89c3-fbd9c34d199f]ユーザーエージェント:[PostmanRuntime / 7.24.0] 20 H:= r.Header 21 fmt.Fprintln(H、W) 22 } 23の 24 // 表单数据提交 25の FUNC処理(http.ResponseWriter W、R * HTTP。リクエスト){ 26 r.ParseForm() 27 fmt.Fprintln(r.Form、ワット)// マップ[こんにちは:[サウsheong] POST:[456]] 28 // r.PostFormはキーURLを取り戻すませんだけで、フォームのキーと値のペアであります値 29 } 30 31である FUNC体(http.ResponseWriter Wは、R * http.Request){ 32 でlen = r.ContentLength // 本体の取得データ長 33である 本体:メイク=([] バイト、LEN) 34であり、 R&LT。 Body.Read(本体) 35 fmt.Fprintln(W、LEN) 36 fmt.Fprintln(W、文字列(本体)) 37 } 38は、 39の // ResponseWriterリターンJSONデータ 40 41型ポスト構造体{ 42 ユーザ ストリング 43 スレッド[] ストリング 44 } 45 46 // 向浏览器返回JSON数据 47 jsonExample FUNC(http.ResponseWriter W、R * http.Request){ 48 w.Header()。セット(" コンテンツタイプ"、" アプリケーション/ JSON " ) 49 後:=&ポスト{ 50 ユーザ: " zhangsan " 、 51件の スレッド:[] ストリング { "NiHao " " wohao " }、 52である } 53で JSON、_:= json.Marshal(POST)// JSONマーシャル:データは、JSON文字列に符号化された 54れる w.Write(JSON) 55 } 56は、 57であり、 // ブラウザ送信クッキー 58 FUNCますsetcookie(http.ResponseWriter Wは、R * http.Request){ 59 C1:= http.Cookie { 60 名: " first_cookie " 、 61である 値: " Webプログラミングゴー" 、 62は HttpOnlyの:真、 63 } 64 C2:= http.Cookie { 65 名: " second_cookie " 、 66 値: " マニングプログラミング" 、 67 HttpOnlyの:真、 68 } 69 // 。w.Header()セット( "のSet-Cookie" 、c1.String()) 70 // w.Header()。( "のSet-Cookie"を追加し、c2.String()) 71 http.SetCookie(&、W C1) 72 http.SetCookie()ワット、&C2 / / 三种设置クッキー的方法 73 } 74 75 // 从浏览器获得クッキー 76 FUNC getCookie(W http.ResponseWriter、R * http.Request){ 77 H:= r.Header [ " クッキー" ] 78の CS:= r.Cookies() 79 fmt.Fprintln( W、H) 80 CS、W fmt.Fprintln() 81 } 82 83 FUNCメイン(){ 84 // MUX:= httprouter.New() 85 // mux.GET( "/ハロー/:名"、ハロー) 86 // log.Fatal(http.ListenAndServe( "8080"、MUX)) 87 // 88 // http.HandleFunc( "/ヘッダ"、ヘッダ) 89 // http.HandleFunc( "/ボディ"、本体) 90 // http.HandleFunc( "/プロセス"プロセス) 91 // http.HandleFunc( "/ JSON"、jsonExample) 92 http.HandleFunc(" /ますsetcookie " ますsetcookie) 93 http.HandleFunc(" / getcookie "getCookie) 94 95 http.ListenAndServe(" :8080 」、ゼロ) 96 97 }