1)简单web服务器:
package main import ( "fmt" "net/http" ) func sayHelloName(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello, world") } func main() { http.HandleFunc("/", sayHelloName) http.ListenAndServe(":9090", nil) }
首先go run hello.go之后,打开一个浏览器,输入http://127.0.0.1:9090,你就会在网页上看到web的打印了。
2)带有表单处理的web服务器:
package main import ( "fmt" "html/template" "net/http" ) func sayHelloName(w http.ResponseWriter, r* http.Request) { fmt.Fprintf(w, "hello, world") } func login(w http.ResponseWriter, r* http.Request) { if r.Method == "GET" { t, _ := template.ParseFiles("login.html"); t.Execute(w, nil) } else { r.ParseForm() fmt.Println("username:", r.Form["username"]) fmt.Println("password", r.Form["password"]) } } func main() { http.HandleFunc("/", sayHelloName) http.HandleFunc("/login", login) http.ListenAndServe(":9090", nil) }
上面给出的只是代码内容,你还需要一个login.html模板文件,
运行go代码之后,试着在浏览器下输入127.0.0.1:9090和127.0.0.1:9090/login