1.概述
目前 Go 社区已经有非常多关于 Web 开发的库或框架。大而全的有beego,revel。超高性能的有echo,fasthttp,gin(目前 GitHub 星标最多)。还有不少专注于具体某个方面的,最多要属路由,例如:mux/httprouter。这些库/框架大多是基于 net/http 包做了包装。
GO语言不像php、java那样,需要使用apache、nginx、tomcat之类的第三方服务器,可以自身通过http包构建web服务器
2. Hello World实例
使用 Go 语言提供的 net/http 包,编写一个 Web 版本经典的 "Hello World" 程序。
package main
import (
"fmt"
"log"
"net/http"
)
//处理器函数
func handler(writer http.ResponseWriter, request *http.Request) {
fmt.Fprintf(writer, "Hello,World, %s!", request.URL.Path[1:])
}
func main() {
//HandleFunc将handler函数注册到根路径/上
http.HandleFunc("/", handler)
//监听
if err := http.ListenAndServe(":8083", nil); err != nil {
log.Fatal(err)
}
}
输入命令:go run main.go
打开浏览器,输入网址: localhost:8083