Go語言這種從零開始使用到解決問題的速度,在其他語言中是完全不可想象的。學過 C++ 的朋友都知道,一到兩年大強度的理論學習和實戰操練也只能學到這門語言的皮毛,以及知道一些基本的避免錯誤的方法。 那么,Go語言到底有多么簡單?下面通過實現一個 HTTP 服務器來了解一下。 【實例】HTTP 文件服務器是常見的 Web 服務之一。開發階段為了測試,需要自行安裝 Apache 或 Nginx 服務器,下載安裝配置需要大量的時間。使用Go語言實現一個簡單的 HTTP 服務器只需要幾行代碼,如下所示。 package main import ( "net/http" ) func main() { http.Handle("/", http.FileServer(http.Dir("."))) http.ListenAndServe(":8080", nil) } 下面是代碼說明: 第 1 行,標記當前文件為 main 包,main 包也是 Go 程序的入口包。 第 3~5 行,導入 net/http 包,這個包的作用是 HTTP 的基礎封裝和訪問。 第 7 行,程序執行的入口函數 main()。 第 8 行,使用 http.FileServer 文件服務器將當前目錄作為根目錄(/目錄)的處理器,訪問根目錄,就會進入當前目錄。 第 9 行,默認的 HTTP 服務偵聽在本機 8080 端口。 把這個源碼保存為 main.go(Go語言的源文件后綴就是.go),安裝Go語言的開發包(后續我們會講解如何安裝),在命令行輸入如下命令: $ go run main.go 在瀏覽器里輸入http://127.0.0.1:8080即可瀏覽文件,這些文件正是當前目錄在HTTP服務器上的映射目錄。
package main import ( "fmt" "net/http" ) func IndexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "hello world") } func main() { http.HandleFunc("/", IndexHandler) http.ListenAndServe("127.0.0.0:8000", nil) }
http://c.biancheng.net/view/6.html