Go/HTTP
< Go
HTTP
編集Goのパッケージ net/http
は http プロトコルのクライアントとサーバーの機能を提供します[1]。
- サーバ側のコード例
package main import ( "fmt" "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, ` <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Go Web server</title> </head> <body> <h1>このウェブサービスはGoで走っています。</h1> %v <p><a href="/link">/link</a></p> </body> </html> `, r) }) http.HandleFunc("/link", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, ` <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Go Web server</title> </head> <body> <h1>リンク先</h1> %v <p><a href="/">TOP</a></p> </body> </html> `, r) }) log.Fatal(http.ListenAndServe(":8080", nil)) }
- http.HandleFuncの第二引数に匿名関数を使いました
- バッククォートで囲まれた文字列はバッククオート以外のすべての文字がエスケープされないので複数行のHTMLを埋めこむのに便利です
- ^ “http package - net/http - Go Packages”. pkg.go.dev (2022年6月1日). 2022年7月11日閲覧。