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