前面介紹了Web相關知識,包括HTTP協議。Go語言提供了一個完善的net/http包,通過http包可以很方便的建立一個Web服務,同時可以簡單的對Web路由,靜態文件,模版,cookie等數據進行設置。
http包建立Web服務器
在GOPATH目錄下新建first_webapp子目錄,并在該目錄下創建server.go文件,代碼如下:
package main
import (
"fmt"
"net/http"
)
func HelloWorldHandler(w http.ResponseWriter, r *http.Request) {
//將“Hello World"字符串寫入到ResponseWriter, 并格式化字符串,將當前請求的路徑添加進去
fmt.Fprintf(w, "Hello world, %s!", r.URL.Path[1:])
}
func main() {
//將定義好的HelloWorldHandler函數設置成根(/)URL被訪問時的處理器
http.HandleFunc("/", HelloWorldHandler)
//啟動服務器并監聽8000/tcp端口
err := http.ListenAndServe(":8000", nil)
if err != nil {
fmt.Println(err)
}
}
使用命令go build server.go編譯上面代碼, 運行編譯后的文件server。或者直接go run server.go運行。
在瀏覽器輸入http://localhost:8000
可以看到瀏覽器輸出了Hello World!
也可以換個路徑試試:http://localhost:8000/index
至此使用Go語言編寫的Hello World的Web服務就完成了。
server.go 源碼連接