Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。
http包建立web服务器
// main.go
package main
import (
"fmt"
"log"
"net/http"
"strings"
)
func sayhelloName(w http.ResponseWriter, r *http.Request) {
r.ParseForm() // 解析参数,默认不解析
fmt.Println(r.Form) // 输出服务器端的打印信息
fmt.Println("path", r.URL.Path)
fmt.Println("scheme", r.URL.Scheme)
fmt.Println(r.Form["url_long"])
for k, v := range r.Form {
fmt.Println("key:", k)
fmt.Println("val:", strings.Join(v, " "))
}
fmt.Fprint(w, "Hello lai!") // 写入w,输出到客户端
}
func main() {
http.HandleFunc("/", sayhelloName) // 设置访问路由
err := http.ListenAndServe(":9090", nil) // 设置监听端口
if err != nil {
log.Fatal("ListenAndServe:", err)
}
}
浏览器端输入:http://localhost:9090
浏览器端输出:Hello lai!
服务器端输出:
浏览器端输入:http://localhost:9090/?url_long=111&url_long=222
服务器端输出: